C# advantage (read and write n variables of class)

G

Guest

Hi


I written this day it (bellow):
It is the good example for advantage C#.
With C# i can do almost all :)

file ReadWriteClassFields.cs:

public class PioMClass:System.Object
{
public System.Int32 i=1,i1=2;
public System.String s="null",s1="true";

public void Write()
{
//System.Type typ=typeof(Klasa);
System.Type typ=GetType();
System.Reflection.FieldInfo[] fields=typ.GetFields();
System.IO.StreamWriter sw=new System.IO.StreamWriter(typ.FullName+".txt");
using(sw)
{
sw.WriteLine("N fields");
sw.WriteLine(fields.Length.ToString());
foreach(System.Reflection.FieldInfo field in fields)
{
sw.WriteLine(field.Name)
if(field.GetValue(this)!=null)sw.WriteLine(field.GetValue(this).ToString());
else sw.WriteLine("0");
}
sw.Flush();
}
sw.Close();
}
public void Print()
{
System.Type typ=GetType();
System.Reflection.FieldInfo[] fields=typ.GetFields();
foreach(System.Reflection.FieldInfo field in fields)
{
System.Console.Write(field.FieldType+" ");
System.Console.Write(field.Name+"=");
if(field.GetValue(this)==null)System.Console.WriteLine("null");
else System.Console.WriteLine(field.GetValue(this));
}
}
public void Read()
{
//System.Type typ=typeof(this);
System.Type typ=GetType();
System.Reflection.FieldInfo[] zmienne=typ.GetFields();

System.IO.StreamReader sr=new System.IO.StreamReader(typ.FullName+".txt");
using(sr)
{
sr.ReadLine();
int l=System.Int32.Parse(sr.ReadLine());
for(int i=0;i<l;i++)
{
sr.ReadLine();
if(zmienne.FieldType.ToString()=="System.Int32")
{
zmienne.SetValue(this,System.Int32.Parse(sr.ReadLine()));
}
else if(zmienne.FieldType.ToString()=="System.String")
{
zmienne.SetValue(this,sr.ReadLine());
}
else sr.ReadLine();
}
}
sr.Close();
}
public void ReadFields()
{
System.Type typ=GetType();
System.Reflection.FieldInfo field;
System.IO.StreamReader sr=new System.IO.StreamReader(typ.FullName+".txt");
using(sr)
{
while(sr!=null)
{
try{field=typ.GetField(sr.ReadLine());}
catch(System.Exception
e){System.Console.WriteLine(e.GetType().Name);break;}
try

if(field.FieldType.ToString()=="System.Int32")field.SetValue(this,System.Int32.Parse(sr.ReadLine()));
else
if(field.FieldType.ToString()=="System.String")field.SetValue(this,sr.ReadLine());
else sr.ReadLine();
}
catch(System.Exception e){System.Console.WriteLine(e.GetType().Name);}
}
}
sr.Close();
}
public static void Main()
{
PioMClass p=new PioMClass();
p.Write();
p.Print();
System.Console.WriteLine("");

p.s1="abc";
p.i1=28;
p.Print();
System.Console.WriteLine("");

p.ReadFields();
p.Print();
System.Console.WriteLine("");
p.Read();
p.Print();
return;
}
}

//csc.exe /target:exe ReadWriteClassFields.cs

Good day!
PioM
 
G

Guest

Hi,

What is so special with it? Hmm...

PioM said:
Hi


I written this day it (bellow):
It is the good example for advantage C#.
With C# i can do almost all :)

file ReadWriteClassFields.cs:

public class PioMClass:System.Object
{
public System.Int32 i=1,i1=2;
public System.String s="null",s1="true";

public void Write()
{
//System.Type typ=typeof(Klasa);
System.Type typ=GetType();
System.Reflection.FieldInfo[] fields=typ.GetFields();
System.IO.StreamWriter sw=new System.IO.StreamWriter(typ.FullName+".txt");
using(sw)
{
sw.WriteLine("N fields");
sw.WriteLine(fields.Length.ToString());
foreach(System.Reflection.FieldInfo field in fields)
{
sw.WriteLine(field.Name);
if(field.GetValue(this)!=null)sw.WriteLine(field.GetValue(this).ToString());
else sw.WriteLine("0");
}
sw.Flush();
}
sw.Close();
}
public void Print()
{
System.Type typ=GetType();
System.Reflection.FieldInfo[] fields=typ.GetFields();
foreach(System.Reflection.FieldInfo field in fields)
{
System.Console.Write(field.FieldType+" ");
System.Console.Write(field.Name+"=");
if(field.GetValue(this)==null)System.Console.WriteLine("null");
else System.Console.WriteLine(field.GetValue(this));
}
}
public void Read()
{
//System.Type typ=typeof(this);
System.Type typ=GetType();
System.Reflection.FieldInfo[] zmienne=typ.GetFields();

System.IO.StreamReader sr=new System.IO.StreamReader(typ.FullName+".txt");
using(sr)
{
sr.ReadLine();
int l=System.Int32.Parse(sr.ReadLine());
for(int i=0;i<l;i++)
{
sr.ReadLine();
if(zmienne.FieldType.ToString()=="System.Int32")
{
zmienne.SetValue(this,System.Int32.Parse(sr.ReadLine()));
}
else if(zmienne.FieldType.ToString()=="System.String")
{
zmienne.SetValue(this,sr.ReadLine());
}
else sr.ReadLine();
}
}
sr.Close();
}
public void ReadFields()
{
System.Type typ=GetType();
System.Reflection.FieldInfo field;
System.IO.StreamReader sr=new System.IO.StreamReader(typ.FullName+".txt");
using(sr)
{
while(sr!=null)
{
try{field=typ.GetField(sr.ReadLine());}
catch(System.Exception
e){System.Console.WriteLine(e.GetType().Name);break;}
try
{
if(field.FieldType.ToString()=="System.Int32")field.SetValue(this,System.Int32.Parse(sr.ReadLine()));
else
if(field.FieldType.ToString()=="System.String")field.SetValue(this,sr.ReadLine());
else sr.ReadLine();
}
catch(System.Exception e){System.Console.WriteLine(e.GetType().Name);}
}
}
sr.Close();
}
public static void Main()
{
PioMClass p=new PioMClass();
p.Write();
p.Print();
System.Console.WriteLine("");

p.s1="abc";
p.i1=28;
p.Print();
System.Console.WriteLine("");

p.ReadFields();
p.Print();
System.Console.WriteLine("");
p.Read();
p.Print();
return;
}
}

//csc.exe /target:exe ReadWriteClassFields.cs

Good day!
PioM
 
Top