Hallo Ich möchte eine erweiterbare Sammlung von komplexen Typen, die in anderen komplexen Typ sind. Wie ich dies tun will:Expendable komplexe Typen innerhalb komplexer Typen in jeder Sammlung (Raster der Eigenschaft)
private static void SetExpandableAttrForType(Type type)
{
var props = type.GetProperties();
foreach (var prop in props.Where(x =>!x.PropertyType.IsSimpleType()&& x.CanWrite))
{
SetExpandableAttrForType(prop.PropertyType);
}
TypeDescriptor.AddAttributes(type, new TypeConverterAttribute(typeof (ExpandableObjectConverter)));
}
und dann
SetExpandableAttrForType(arrayInstance.GetType().GetElementType());
Testmodell:
public class Class1
{
public Class2 Class2Inclass1 { get; set; }
public Class2[] Class2Array { get; set; }
}
public class Class2
{
public Class3 Class3Inclass2 { get; set; }
public string Class2String { get; set; }
public string Class2String2 { get; set; }
}
public class Class3
{
public Class4 Class4Inclass3 { get; set; }
public string Class3String { get; set; }
public int Class3Int { get; set; }
}
public class Class4
{
public int Class4Int { get; set; }
public DateTime Class4Datetime { get; set; }
}
Es funktioniert für Arten in Ordnung, aber nicht für die Sammlung von Typen.