如何使用getpropertyvalueses安全地从CommonLibrary.NET
本文关键字:CommonLibrary NET 安全 何使用 getpropertyvalueses | 更新日期: 2023-09-27 18:11:55
使用CommonLibrary时。Net,如何正确使用GetPropertyValueSafely()
函数?
我想这样做:
public static string APP_TITLE = ComLib.ReflectionHelper.GetPropertyValueSafely(Application.ProductName);
,但我需要添加第二个参数,我还不太了解,不知道要求什么。以下是文档文件中的语法用法:
public static Object GetPropertyValueSafely(
Object obj,
PropertyInfo propInfo
)
以下是参数要求:
参数obj类型:System..::..对象要检索其属性的对象。
propInfo Type: System.Reflection.::..PropertyInfo属性名。
那么object
怎么写呢?我也试过这个:
public static string APP_TITLE;
ComLib.ReflectionHelper.GetPropertyValueSafely(APP_TITLE, Application.ProductName);
但这也不是答案。
我也试过这个:
public static string APP_TITLE = ComLib.Reflection.ReflectionUtils.GetPropertyValue((object)APP_TITLE, Application.ProductName).ToString();
…可编译,但会从库抛出运行时类型错误。
谢谢你的帮助(我才刚刚开始想这些东西)
试试这样:
public static readonly string APP_TITLE = (string)ComLib.ReflectionHelper.GetPropertyValueSafely(new object(),
ComLib.Reflection.ReflectionUtils.GetProperty(typeof(Application), "ProductName"));
NB:从技术上讲,将new object()
传递给PropertyInfo
的GetValue
方法应该抛出一个TargetException
。然而,由于这是一个静态属性,它似乎可以工作。