我有一个具有静态属性的结构(我不创建该结构的实例,而是像CommUser.MyProperty这样使用它)。
我已经编写了一种通过名称查找属性的方法。一旦找到该属性,我不知道该如何称呼它?像这样的东西:CommUser.item
(找到了项目的属性)。
public struct CommUser
{
public static string pcUSER_URI_R97
{
get;
set;
}
public static string pcUSER_URI_R98
{
get;
set;
}
}
public bool CheckIfUserHasRights(string[] listUserRights)
{
var listUserProperties = typeof(CommUser).GetProperties(BindingFlags.Static | BindingFlags.Public);
foreach (var item in listUserProperties)
{
foreach (var usrRight in listUserRights)
{
if (item != null && !string.IsNullOrEmpty(item.Name) && !string.IsNullOrEmpty(usrRight))
{
if (item.Name.EndsWith(usrRight))
{
//how to make a call to CommUser.item ?
}
}
}
}
return false;
}
答案 0 :(得分:1)
您使用item.GetValue(null)
。该参数是实例,但显然没有静态属性。