2
我想用它們聲明的參數名稱來生成泛型類的名稱。例如,如果我有泛型類和實例化的如下所示我想打印"MyClass<P1,M>"
。在C中訪問泛型類型的GenericTypeParameters#
現在,我讓我的類型信息myInstance
,然後泛型類型定義是這樣的:
// MyClass<int,string> type info here
var type = myInstance.GetType();
// MyClass<P1, M1> type info here
var genericType = type.GetGenericTypeDefinition();
調試器顯示了所有參數名genericType
財產GenericTypeParameters並輸入信息。然而,我無法從我的C#代碼訪問該集合,並將genericType
轉換爲System.RuntimeType類,因爲RuntimeType是內部的,所以無法工作。
那麼有沒有辦法訪問GenericTypeParameters屬性莫名其妙或我在這裏SOL? 環境VS2015,.NET 4.6.1
@MichaelLiu:啊,是的 - 哎呀,誤讀。將刪除,編輯然後取消刪除。 –
太棒了!幾乎GetGenericArguments()返回GenericTypeParameters屬性,我可以在調試器中看到。現在混亂消失了。 –