在结构类型上找到静态方法后如何调用

时间:2019-02-15 08:03:52

标签: c# .net

我有一个具有静态属性的结构(我不创建该结构的实例,而是像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;
}

1 个答案:

答案 0 :(得分:1)

您使用item.GetValue(null)。该参数是实例,但显然没有静态属性。