gpt4 book ai didi

C# 属性不应该继承

转载 作者:行者123 更新时间:2023-11-30 21:17:47 25 4
gpt4 key购买 nike

由于属性在 C# 中不继承(至少我不认为它们会继承)- 当 MyTestMethod 测试运行时,以下代码如何仍然显示 Hello 弹出窗口:

[TestClass]
public class BaseTestClass {
[TestInitialize]
public void Foo() {
System.Windows.Forms.MessageBox.Show("Hello");
}
}

[TestClass]
public class TestClass : BaseTestClass {
[TestMethod]
public void MyTestMethod() {
Assert.IsTrue(true);
}
}

最佳答案

属性默认继承,但可以禁用 - 参见 AttributeUsage.Inherited

如果用 AttributeUsage 属性修饰属性定义,则可以设置此属性:

[AttributeUsage(AttributeTargets.Class, Inherited = false)]
public class MyAttribute : Attribute
{
}

关于C# 属性不应该继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4609976/

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