【发布时间】:2014-04-17 05:50:24
【问题描述】:
我想为使用 PostSharp 的各种类提供 System.Object.ToString 的实现。我创建了一个继承自 MethodInterceptionAspect 的方面,但是当调用 EchoDto.ToString 时,没有调用 OnInvoke 方法。
当ToString 被调用时,我怎样才能让OnInvoke 被调用?
[DataContract]
[ImplementJsonToStringAspect()]
public class EchoDto
{
[DataMember]
public string Text { get; set; }
}
[Serializable]
[MulticastAttributeUsage(MulticastTargets.Method)]
public class ImplementJsonToStringAspect : MethodInterceptionAspect
{
public override void OnInvoke(MethodInterceptionArgs args)
{
base.OnInvoke(args); // Never gets called
}
public override bool CompileTimeValidate(MethodBase method)
{
return method.Name == "ToString";
}
}
【问题讨论】: