簡體   English   中英

從類名中檢索靜態屬性值

[英]Retrieve Static Property Value From Class Name

我有一個靜態屬性,我需要按名稱訪問它而不實例化類。

這有效:

var importantVar = MyClass.MyStaticProperty;

這行不通

var qualifiedName = "MyObjects.MyClass";
var theType = Type.GetType(qualifiedName);
var importantVar = (theType).MyStaticProperty;

theType 返回 null? 我怎樣才能做到這一點? 謝謝!

您需要使用反射。 像這樣做

var importantVar = theType.GetProperty("MyStaticProperty", BindingFlags.Static).GetValue(null);

您的值被輸入為對象,從問題中將其轉換為什么並不明顯。

解決方案(在您的幫助下):

var qualifiedName = "MyObjects.MyClass, MyObjects";
var theType = Type.GetType(qualifiedName);
var importantVar = theType.GetProperty("MyStaticProperty").GetValue(null);

下面的示例顯示了一種獲取靜態屬性的類型信息的方法。

靜態類:

public static class abc
{
    public static int prop1 { get; set; }
}

Type t1 = typeof(abc).GetProperty("prop1").PropertyType;

暫無
暫無

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

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