我想知道我是否可以在c#中执行类似的操作:
public CustomerManagerScreen()
{
[TestAttirubute("CustomerManagerScreen_Load")]
private void CustomerManagerScreen_Load(object sender, EventArgs e)
{
CustomerLoad();
}
}
如您所见,方法名称是TestAttribute的参数,我想要实现的是CustomerManagerScreen_Load将被丢弃,具体取决于TestAttirubute的结果
这是属性类......
public class TestAttirubute: System.Attribute
{
private string _MethodName = string.Empty;
public TestAttirubute(string MethodName)
{
this._MethodName = MethodName;
}
public bool hasPermission()
{
return (SessionManager.CurrentUser.UserRole.Role.Rights.Where(a => a.Resource.Code == this._MethodName).Count() != 0) ? true: false;
}
}
答案 0 :(得分:0)
不是那样,但你可以使用ConditionalAttribute
。
然而,一个限制是您的方法必须返回void
。