C# Class ValueTuples.Reflection.RecordTypeInfo

リフレクションを使えない環境で、事前コード生成で作っておく型情報。
継承階層を持ったクラスとかをシリアライズ、デシリアライズしたいという要件があって、 一般的なシリアライザーの類が使いにくかったりする。
Mostra file Open project: ufcpp/UfcppSample Class Usage Examples

Public Methods

Method Description
GetAccessor ( object instance ) : IRecordAccessor

アクセサーを作る。

GetArray ( int length ) : Array

Array.CreateInstance(Type, int) 代わり。 個数を指定して配列を作る。

GetInstance ( ) : object

Activator.CreateInstance(Type) 代わり。 引数なしのコンストラクターを呼んでインスタンスを作る。

GetType ( int discriminator ) : RecordTypeInfo

継承階層を持っているときに、Discriminator の値から具体的な型を得る。

Method Details

GetAccessor() public abstract method

アクセサーを作る。
public abstract GetAccessor ( object instance ) : IRecordAccessor
instance object アクセサーをかませたいインスタンス。
return IRecordAccessor

GetArray() public abstract method

Array.CreateInstance(Type, int) 代わり。 個数を指定して配列を作る。
public abstract GetArray ( int length ) : Array
length int
return System.Array

GetInstance() public abstract method

Activator.CreateInstance(Type) 代わり。 引数なしのコンストラクターを呼んでインスタンスを作る。
public abstract GetInstance ( ) : object
return object

GetType() public method

継承階層を持っているときに、Discriminator の値から具体的な型を得る。
public GetType ( int discriminator ) : RecordTypeInfo
discriminator int 型判別用の数値。
return RecordTypeInfo