私はかなり単純なコードを持っています
var propertyBuilder =
typeBuilder.DefineProperty(upperName, PropertyAttributes.None, propertyType, new[] { propertyType });
propertyBuilder.SetConstant(Convert.ChangeType(propertyInfo.Default, propertyType));
その後、CreateType()
メソッドを呼び出してクラスのインスタンスを作成すると、デフォルト値が割り当てられたプロパティの値を調べようとしていますが、変更が表示されません。
クラスのインスタンスを作成した後はメソッドを使用できませんSetValue
。これは、構築されたすべての型がメタデータ ディクショナリ内に格納され、コード内のさまざまな場所から使用できるためです。
SetConstant
メソッドが機能しない理由はありますか?