2014-01-13 42 views
1

我正在嘗試使用System.Reflection以獲得與使用metadata,特別是IsComplexType屬性相同的屬性結果。我面臨的問題是,我無法找到MVC框架用來確定屬性是否複雜的邏輯。 複雜類型的唯一功能是我能找到的是它是一個類和is not a built in type of the .Net framework。如何確定(屬性)類型是否被視爲複雜類型,而不使用ModelMetadata屬性?等效於使用反射的「ModelMetadata.IsComplexType」

回答

2

IsComplexType是通過以下方式實現:

!TypeDescriptor.GetConverter(this.ModelType).CanConvertFrom(typeof(string)); 

所有這些類不具體的MVC,可以通過你使用。您只需將ModelType替換爲您想要測試的類型即可。