简单的代码:为什么MemberAccessException不抛出?
class Program
{
static void Main(string[] args)
{
A a = new A();
//Expect MemberAccessException here
//(http://msdn.microsoft.com/en-us/library/system.delegate.method.aspx)
Console.WriteLine("Delegate.Method: " + a.ACallback.Method);
Console.ReadLine();
}
}
public delegate void TestCallback();
class A
{
public TestCallback ACallback;
public A()
{
ACallback = new TestCallback(this.Some);
}
private void Some()
{
Console.WriteLine("Call Some");
}
}
,并没有发现任何异常,为什么呢?
为什么你期待'MemberAccessException'? – jason
由于调用方无法访问委托所表示的方法,因此该方法是私有的。 – Nick
在完全信任的情况下可能会禁用一些验证。 – CodesInChaos