ジェネリック型に「文字列」に変換することはできません私たちは、クラスが暗黙的に<T>
public class MyPropertyBase
{
public int StartOffset { get; set; }
public int EndOffset { get; set; }
}
public class MyProperty<T> : MyPropertyBase
{
public MyProperty(T propertyValue)
{
PropertyValue = propertyValue;
}
public T PropertyValue { get; set; }
}
class BE
{
public MyProperty<string> FUND_CITY { get; set; }
public MyProperty<int> SomeOtherProperty { get; set; }
public List<MyPropertyBase> MyDataPoints { get; set; }
}
を以下している私はobjBE
としてBE
のインスタンスを作成し、objBE.FUND_CITY="Some Value"
を割り当てると、それはエラーを与える:
"Can't convert "string" to MyProperty.
コンパイル時エラーが除去されます。しかし、実行時エラーが発生します:{"オブジェクト参照がオブジェクトのインスタンスに設定されていません"} –
動作しませんでした。私が試したとき –
@ user1043788はいこれは、 'FUND_CITY'で' PropertyValue'に値を代入しようとすると起こります。これは 'BE'オブジェクトの' FUND_CITY'プロパティを初期化することなく(null参照です)これを 'BE'型のイニシャライザで行うか、または別の例を投稿して使用することができます。暗黙の型付きの例は、@leppieが提案する暗黙的な演算子の設計変更を実装しないと決めた場合です。 –