gpt4 book ai didi

C#/Resharper 5 结构搜索,检测并警告是否具有某些属性的类上的任何非虚拟公共(public)方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:34 25 4
gpt4 key购买 nike

我正在使用 LinFu 的动态代理为某些类添加一些建议。问题是代理对象只能拦截虚拟方法,并且会返回非虚拟方法的返回类型的默认值。

我可以根据该类或其任何方法是否具有拦截属性来判断该类是否被代理,例如[交易]

是否可以编写一个 ReSharper 5 结构搜索,如果在具有拦截属性的类上定义了任何非虚拟公共(public)方法,它会发出警告。

例如

好的

public class InterceptedClass
{
[Transaction]
public virtual void TransactionalMethod()
{
...
}

public virtual void AnotherMethod()
{
...
}
}

不好

public class InterceptedClass
{
[Transaction]
public virtual void TransactionalMethod()
{
...
}

public void AnotherMethod() // non-virtual method will not be called by proxy
{
...
}
}

非常感谢。

最佳答案

目前无法使用 ReSharper 5,AFAIK。我们将在下一个版本中将结构化模式改进到类,并通常改进到设计级别。谢谢,并继续提供这些示例!我们需要很多案例 :)

关于C#/Resharper 5 结构搜索,检测并警告是否具有某些属性的类上的任何非虚拟公共(public)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com