我正在尝试使用System.Reflection
为属性获取与使用metadata
相同的结果,特别是IsComplexType
属性。我面临的问题是我找不到MVC框架用来确定属性是否复杂的逻辑。我能找到的复杂类型的唯一功能是它是一个类is not a built in type of the .Net framework。如何在不使用ModelMetadata
属性的情况下确定(属性)类型是否被视为复杂类型?
答案 0 :(得分:2)
IsComplexType 以下列方式实现:
!TypeDescriptor.GetConverter(this.ModelType).CanConvertFrom(typeof(string));
所有这些类都不是MVC特有的,可供您使用。您只需要将ModelType
替换为您要测试的类型。