[英]How to create an object with a single property, the name of which is not known until run-time
我需要用單個屬性創建一個非常簡單的對象。 問題在於此屬性的名稱是可變的,直到運行時才知道。
我正在使用c#。
我一直在環顧四周,發現了很多東西,這些東西似乎是我需要做的非常漫長的方法(例如, 在運行時添加屬性 )。 但是,這種解決方案似乎有點過大,所以我真的希望有一種更簡單的方法。
為什么?
我正在使用WPF應用程序。 在某些情況下,我有想要處理空值的組合框。 我已經在這里找到了解決這個問題的絕佳方法: http : //philondotnet.wordpress.com/2009/09/18/how-to-select-null-none-in-a-combobox-listbox-listview/
但是,此解決方案的主要問題(如第二條評論所述)是,如果設置了選擇器的DisplayMemberPath,則空值文本將顯示為空白。 解決此問題的方法僅是修改NullItem以返回具有屬性的對象,該屬性的名稱為DisplayMemberPath,而值是null值的字符串表示形式。
您可以考慮使用
考慮到ExpandoObject實現IDictionary
,可以將其強制轉換為:
var expando = new System.Dynamic.ExpandoObject();
var expandoDic= expando as IDictionary<String, Object>;
expandoDic["Name"] = "Jane";
expandoDic["Surname"] = "Eyre";
var name = expandoDic["Name"];
var surname = expandoDic["Surname"];
var book = name + " " + surname;
這樣的輸出是
如預期的那樣,“簡·愛”;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.