>利用反射到訪問C#類屬性
> 面向對象的編程經常需要與類實例及其屬性進行交互。 反射提供了一種動態檢查和操縱這些特性的強大機制。本指南演示瞭如何檢索與類相關的屬性列表。>
>檢索屬性信息 .NET反射API簡化了屬性探索。 兩種主要方法實現了這一點:
使用特定類實例時使用的
Obj.GetType().GetProperties()
typeof(ClassName).GetProperties()
PropertyInfo
讓我們用樣本類說明:
以下代碼摘要檢索並顯示A
<code class="language-csharp">public class Foo { public int A { get; set; } public string B { get; set; } }</code>>實例的所有屬性的值:
Foo
<code class="language-csharp">Foo foo = new Foo { A = 1, B = "abc" }; foreach (var prop in foo.GetType().GetProperties()) { Console.WriteLine($"{prop.Name} = {prop.GetValue(foo)}"); }</code>重要說明:
訪問靜態屬性需要將
作為第二個參數傳遞到null
。 請記住,只有在絕對必要的情況下才能謹慎地進行訪問非公共成員。 GetValue()
>
以上是如何使用反射探索C#中的類屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!