2012-03-26 11 views
0

Jeder Ort, an dem ich alles sah, was ich finden kann ist, wie man eine CSV-Datei in FileHelpers lesen und dann die gleichen Daten ausschreiben. Ich versuche, eine Record-Klasse zu erstellen, basierend auf Eingaben aus anderen Bereichen der App werde ich den Wert jedes Datensatzes festlegen und dann die Zeile an einen CSV ausgeben.C# FileHelpers - Schreibe neuen Datensatz in CSV, ohne eine Eingabedatei

Deshalb möchte ich einige wie diese haben:

[DelimitedRecord(",")] 
public class Records 
{ 
    [FieldNullValue(typeof(String), "")] 
    public static string data1; 

    [FieldNullValue(typeof(String), "")] 
    public static string data2; 

    [FieldNullValue(typeof(String), "")] 
    public static string data3; 
} 

Und dann in einer anderen Klasse werde ich diese Rekorde:

public class Class 
{ 
    public static void Method() 
    { 
     Records.data1 = "Something"; 
     Records.data2 = "Something"; 
     Records.data3 = "Something"; 
    } 
} 

Sein von diesem Punkt Ich bin verwirrt darüber, wie diese schreiben Aufzeichnungen in eine CSV-Datei oder eine Liste, die ich später in eine CSV-Datei schreiben kann. Wenn ich versuche, den Motor zu schaffen

DelimitedFileEngine e = new DelimitedFileEngine(typeof(Records)); 

ich eine Fehlermeldung erhalten, die besagt: „Die Datensatzklasse Datensätze kein Feld enthält“. Hat jemand eine Idee, was ich vermisse? Ich kann nirgendwo in der Dokumentation finden, wo es erklärt, wie man das macht.

+1

versuchen Sie, ohne statische Felder zu verwenden – wiero

+1

Haben Sie versucht, Ihre Eigenschaften nicht statisch zu machen? – daryal

+0

Ich bekomme den Fehler "Ein Objektreferenz ist für das nicht statische Feld erforderlich", wenn ich das tue. – Ron

Antwort

2

einfach zu starten etwas Ähnliches Dies ermöglicht

[DelimitedRecord(",")] 
public class Records 
{ 
    [FieldNullValue(typeof(String), "")] 
    public string data1; 

    [FieldNullValue(typeof(String), "")] 
    public string data2; 

    [FieldNullValue(typeof(String), "")] 
    public string data3; 
} 


public class Class 
{ 
    public static void Method() 
    { 
     Records r= new Records(); 
     r.data1 = "Something"; 
     r.data2 = "Something"; 
     r.data3 = "Something"; 
    } 
} 

versuchen Sie ein Objekt zu erstellen und Daten hinzuzufügen ... helfen Vielleicht könnte eine schnelle Überprüfung der OOP.

+0

Ich sehe, danke. Ich habe versucht, die Klasse als Array zu erstellen. – Ron

+0

Brauchen Sie ein Array dieser Klasse (etwa Records [] r) oder eine Klasse mit einem Array? Im ersten Fall sollte etwas wie Records [] r; r = new Records [10] genügen – Gabber

Verwandte Themen