我有一个有几种方法的对象。其中一些装饰有[AuthenticationRequired]
属性。何时以及如何检查被叫方是否已通过身份验证?
这只是一个简单的null
检查,但我不知道如何将它挂钩到实际的方法调用。我有点迷失在这里。
我:
班级结构大致如下:
public class Stuff
{
public void ImFine()
{
CommonMethod("fine");
}
public void ImGood()
{
CommonMethod("good");
}
[AuthenticationRequired]
public void ImTerrible()
{
CommonMethod("terrible", true); // not an optional parameter.
}
[AuthenticationRequired]
public void ImDeceased()
{
CommonMethod("dead");
}
protected void CommonMethod(string state)
{
Console.WriteLine(string.Format("I feel {0}", state));
}
protected void CommonMethod(string state, bool pet)
{
if (pet)
{
Console.WriteLine(string.Format("My pet feels {0}", state));
}
else
{
Console.WriteLine(string.Format("I feel {0}", state));
}
}
}
假设CommonMethod
几乎不复杂,并且无法调用另一个(为了让每个被调用者共享一个方法)。