C#属性集合

Pro*_*sov 9 .net c# attributes

我有一些内置属性的集合(如System.Runtime.Serialization.SerializableAttribute),我想要应用于某些类的集合

是否可以将这些属性合二为一?我不想明确地将它们全部应用到我的所有类中(attibute集合可能在开发过程中发生变化)

我想要的是一个属性,例如

public class MyClassAttribute: System.Attribute { ... }
Run Code Online (Sandbox Code Playgroud)

我可以轻松地申请我的课程

[MyClass]
public class SampleClass { ... }
Run Code Online (Sandbox Code Playgroud)

这将导致SampleClass具有Seri​​alizable属性和其他属性.谢谢

Mar*_*ell 8

不,基本上不是.其实,[Serializable]特别值得关注的,因为在编译器不同的待遇-这是不是写成一个属性,但是作为原料的标志(如果你问"它具备了运行时只是在于[Serializable]属性" -它会针对该标志类型,并返回你期望看到的,即使这不是事实).


Dan*_*zka 0

我认为不可能开箱即用,但您可以使用Mono.Cecil在构建后步骤中修改程序集中的类型,删除集合属性并添加其他属性。