JetBrains Rider 2026.1 Help

代码检查:所需基类型与其他类型冲突

此检查会报告那些使用多个 [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日