在c#的许多类中使用相同的一组属性
本文关键字:一组 属性 许多类 | 更新日期: 2023-09-27 18:06:41
我试图在许多类中使用相同的一堆属性。如何在c#中实现这一点?
如果你不清楚我想要实现什么,请看看这个例子:
public class A
{
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
[Attribute1]
[Attribute2]
[Attribute3]
public string Foo { get; set; }
}
public class B
{
public string Property4 { get; set; }
public string Property5 { get; set; }
public string Property6 { get; set; }
[Attribute1]
[Attribute2]
[Attribute3]
public string Foo { get; set; }
}
基本上Foo
每次都有相同的一堆属性,但copy-paste
不是一个选项,因为它太容易出错。
在这个特殊的例子中,可以从这个类继承A
和B
:
public class C
{
[Attribute1]
[Attribute2]
[Attribute3]
public string Foo { get; set; }
}
但是如果有更多像Foo
这样的属性,这是无法实现的,因为c#不允许多重继承。
您可以考虑使C
成为一个接口,并用您的属性装饰接口属性-这解决了多重继承问题。
public interface IC
{
[Attribute1]
[Attribute2]
[Attribute3]
string Foo { get; set; }
}