Tag: abi

C#接口破坏,ABI

假设我们在程序集A.dll版本1中有class X : class X { SomeType Property { set; get; } } 然后在程序集A.dll第2版​​中: class X { SomeType Property { set; get; } SomeType OtherProperty { set; get; } } 现在假设我们有第二个程序集B.dll加载A.dll并使用X.添加属性OtherProperty打破ABI吗? B.dll会不会使用A.dll / X ? 如果没有,声明的顺序会有什么不同吗? 如果属性是虚拟的,它有什么不同吗? 我想我真的在问:ABI的一般规则是什么? 我知道在发布之后更改接口是一件坏事,但我真的希望能够在某些情况下添加属性,而无需添加子类。