代码检查:所需基类型与其他类型冲突
此检查会报告那些使用多个 [BaseTypeRequired] 特性且引用了彼此冲突的基类型的类。 当某个特性要求继承自一个具体类型,而另一个特性要求继承自另一个不兼容的具体类型时,就会出现这种情况。 由于类只能有一个基类,因此这些要求无法同时满足。
解决方法是移除冲突的特性用法,或重新设计所需基类型,使带特性的类可以满足要求。
using System;
using JetBrains.Annotations;
public class Bar { }
public class Foo : Bar { }
public class Foo2 : Bar { }
[BaseTypeRequired(typeof(Bar))]
[BaseTypeRequired(typeof(Foo))]
public class MyComponentAttribute : Attribute
{
}
[BaseTypeRequired(typeof(Foo2))]
public class MyComponent2Attribute : Attribute
{
}
[MyComponent]
[MyComponent2]
public class MyComponentImpl
{
}
using System;
using JetBrains.Annotations;
public class Bar { }
public class Foo : Bar { }
public class Foo2 : Bar { }
[BaseTypeRequired(typeof(Bar))]
[BaseTypeRequired(typeof(Foo))]
public class MyComponentAttribute : Attribute
{
}
[BaseTypeRequired(typeof(Foo2))]
public class MyComponent2Attribute : Attribute
{
}
[MyComponent]
public class MyComponentImpl : Foo
{
}
2026年 5月 8日