假设我的程序中的所有组件都有最简单的接口。
public interface IComponent
{
}
我知道要为项目编写的每个组件都必须实现这个接口,而且我知道所有这些组件都将使用 C# 的BinaryFormatter
. 这意味着每个组件都必须使用该[Serializable]
属性进行装饰。现在有没有办法强制添加这个属性?
我说“现在”是因为我可以找到各种 SO 问题告诉我这是不可能的 - 但我能找到的所有问题都是从 2008 年开始的。从那时起,C# 规范中有什么变化吗?还是我必须使用旧答案中描述的解决方法之一?