2011-03-28 177 views
1

我使用的函數包含對象類型參數。我想獲取這個未知類型對象的屬性的名稱。我怎樣才能做到這一點?如何訪問未知類型對象的屬性名稱

KR,

Dakmaz

+0

見思考 - http://msdn.microsoft.com/en-us/library/aa288454(v=vs.71).aspx – Mitul 2011-03-28 14:49:51

回答

4

使用GetProperties

var properties = obj.GetType().GetProperties(); 
2

請勿使用對象類型的參數,而應使用generics

然後你可以通過constrain這個泛型來實現一個接口或從基類繼承。

然後,您將能夠訪問受約束接口/基本類型中定義的屬性和函數。您也可以定義自己的界面並對其進行約束。

示例代碼:

public void MyFunc<T>(T myParam) 
    where T : IEnumerable // or some other interface or base class. 
{ 
    foreach (var child in myParam) // uses the interface IEnumerable that the generic was constrained to 
    { 
     // do something 
    } 
}