2

定義したオブジェクトがあり、PropertyDescriptorを使用して「DeviceType」というプロパティの1つを変更したいのですが、うまくいきません。

プロパティDeviceTypeの値を取得できますが、SetValue()を使用してプロパティ値を変更すると、プロパティをに設定しようとしても、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という例外が常に発生します。取得したのと同じ値。

ここにいくつかのコードがあります:

PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(theBase);
var objValue = properties["DeviceType"].GetValue(theBase);

try 
{
    if (theBase != null && objValue != null)
    {
        properties["DeviceType"].SetValue(theBase, objValue);
    }
}
catch (Exception ex)
{

}

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

オブジェクトの作成時にプロパティが正しく初期化されなかったため、setterプロパティがnull参照例外エラーを生成していました。

于 2012-08-02T17:16:03.867 に答える