タイプclass1
のオブジェクトのSelectedObjectを持つPropertyGridがあります。PropertyDescriptorCollection - オブジェクトがターゲットタイプと一致しません
私はclass1
オブジェクトのICustomTypeDescriptor
インタフェースを実装しています、と私は別のオブジェクトclass2
からPropertyDescriptorCollection
を取得し、PropertyGridのにclass2
PropertyDescriptors
を表示するだけでなく、class1
PropertyDescriptors
する必要がしています。
私はclass2
PropertyDescriptors
ためにPropertyGridのに表示され、次のエラーを取得しています:
オブジェクトは、ターゲット・タイプと一致していません。ここで
class2
PropertyDescriptors
せずに動作します私のコードです:ここでは
public PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection propertyDescriptorCollection = TypeDescriptor.GetProperties(this);
var propertyDescriptors = new List<PropertyDescriptor>();
for (int i = 0; i < propertyDescriptorCollection.Count; i++)
{
propertyDescriptors.Add(propertyDescriptorCollection[i]);
}
return new PropertyDescriptorCollection(propertyDescriptors.ToArray());
}
は、私が働いているコードです:
public PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection propertyDescriptorCollection = TypeDescriptor.GetProperties(this);
var propertyDescriptors = new List<PropertyDescriptor>();
for (int i = 0; i < propertyDescriptorCollection.Count; i++)
{
propertyDescriptors.Add(propertyDescriptorCollection[i]);
}
var class2PropertyDescriptorCollection = TypeDescriptor.GetProperties(class2);
for (int i = 0; i < class2PropertyDescriptorCollection.Count; i++)
{
propertyDescriptors.Add(class2PropertyDescriptorCollection[i]);
}
return new PropertyDescriptorCollection(propertyDescriptors.ToArray());
}
私はclass2
からPropertyDescriptors
を表示することができますどのように、 からclass1
までがPropertyGridに表示されていますか?