179 lines
4.5 KiB
Plaintext
Raw Normal View History

namespace WindowsApplicationProve
{
namespace Cxxx
{
[Serializable]
public struct OtherStruct
{
public int FInt;
}
[Serializable]
public struct StructSample
{
public int FInt;
public char FChar;
public object FObj;
}
[Serializable]
public enum EnumSample
{
aa,
bb,
cc
}
[Serializable]
public delegate int DelegateProve(int i);
[Serializable]
public delegate void OtherDelegate();
public interface ISample
{
int FirstMethod(char charParam);
}
[Serializable]
public class cIntProve: ISample
{
public long FLongField;
public int FirstMethod(char charParam)
{
return 6;
}
}
public delegate string DlgProve(int i);
[Serializable]
public class cAgregationClass:BaseClass
{
public Char FCharField;
public string FStr;
public cSerializableProve Fobj;
public ISample Fintf;
//public int[][] FIntList;
public string DlgCatcher(int i)
{
return "Hello";
}
}
[Serializable]
public class BaseClass
{
public int FBaseint;
public cIntProve FIntObj;
}
[Serializable]
public class cXXX
{
public int FI;
}
[Serializable]
public class cSerializableProve
{
public object[] FArrayProve;
public object[] FNullArray;
//public ClassProve FOtherAssObj;
public cAgregationClass FAggField;
//value types
public DelegateProve FDelegateProve;
public event OtherDelegate FEventField;
public ISample FInterfaceField;
public string FStrField;
private int FPintField;
public int FIntField;
public uint FUintField;
public short FShortField;
public ushort FUShortField;
public long FLongField;
public ulong FULongField;
public bool FBoolField;
public double FDoubleField;
public decimal FDecimalField;
public char FCharField;
public StructSample FStructField;
public EnumSample FEnumField;
public cSerializableProve()
{
InitReferences();
InitSimpleTypes();
InitStructs();
InitArray();
}
private void InitReferences()
{
FAggField = new cAgregationClass();
FAggField.FCharField = 'a';
FAggField.FBaseint = 10;
FAggField.Fobj= this;
FAggField.FStr= "Hhhh";
FStrField= FAggField.FStr;
FAggField.FIntObj= new cIntProve ();
FInterfaceField= FAggField.FIntObj;
FAggField.Fintf= FInterfaceField;
}
private void InitSimpleTypes()
{
FArrayProve= new Object[20];
FPintField= 10;
FIntField = 6;
FUintField = 6;
FShortField = 6;
FUShortField = 6;
FLongField = 6;
FULongField = 6;
FDoubleField = 6;
FDecimalField = 5;
FBoolField = true;
FCharField = 'a';
FEnumField = EnumSample.aa;
}
private void InitStructs()
{
FStructField= new StructSample();
FStructField.FChar= 'a';
FStructField.FInt= 10;
FStructField.FObj= this.FAggField;
}
private void InitArray()
{
FArrayProve[0]= new cAgregationClass();
((cAgregationClass)FArrayProve[0]).FStr= "Hello";
FArrayProve[1]= new cAgregationClass[2];
((cAgregationClass[])FArrayProve[1])[0]= this.FAggField;
FArrayProve[2]= new int[][][]{new int[][]{new int[3], new int[3], new int[3]}, new int[][]{new int[3], new int[3], new int[3]}};
/*Fill the integer array*/
((int[][][])FArrayProve[2])[1][1][1]= 10;
((int[][][])FArrayProve[2])[1][1][2]= 10;
((int[][][])FArrayProve[2])[1][1][0]= 10;
FArrayProve[3]= new OtherStruct();
FArrayProve[4]= 6;
FArrayProve[5]= true;
FArrayProve[6]= 2.5;
FArrayProve[7]= EnumSample.bb;
FArrayProve[8]= this.FInterfaceField;
FArrayProve[9]= "Hello";
FArrayProve[10]= new UInt32();
FArrayProve[11]= new short();
FArrayProve[12]= new UInt16();
FArrayProve[13]= new decimal();
FArrayProve[15]= new ulong();
FArrayProve[16]= new char();
FArrayProve[18]= null;
}
public void InitDelegates()
{
FDelegateProve= new DelegateProve(SIntProve);
FEventField= new OtherDelegate(OtherProve);
}