簡體   English   中英

獲取C#中動態對象的屬性類型(即使value為null)

[英]Get property type of dynamic object in C# (even when value is null)

我有一個DynamicObject包裝器,該包裝器基本上是從另一個私有對象實例(以及其他事情)轉發屬性值。 但是,有沒有辦法動態地返回屬性類型呢?

我問的原因是因為我在WPF中綁定時遇到麻煩,試圖將view-value(在我的情況下為字符串 ,將文本框綁定到double屬性)轉換為類型為object的演示者值,而不是double (如果該對象不是動態對象,並且該屬性的返回類型為double,則該方法將失敗。

如果有類似TryGetMemberType的地方,那將是很棒的...

沒有,這對於dynamic是不可能的:null沒有類型,而且dynamic沒有元數據。

但是,在大多數UI數據綁定代碼中(包括WPF),主要API是System.ComponentModel-它支持某種形式的動態行為(自1.0開始就這樣做)。 通常,您將使用ICustomTypeDescriptor,TypeDescriptionProvider或ITypedList提供自定義的PropertyDescriptor實例。 這些具有完整的元數據,包括類型信息。

我想知道這是否會更適合您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM