我改变了从一类public abstract AwesomeClass到public sealed AwesomeClass.我还添加了一个新房产.所有现有成员均未变更.我知道这是一个突破性的变化.AwesomeClass通过反射实现或依赖它的客户将被打破.
我的问题是,那些只使用AwesomeClass我所提供的实例成员的客户是否会被破坏(如果是的话,那么如何)? 任何客户都不会依赖我实现的任何类型,AwesomeClass因为它们都是内部的.我想不是,但......
这是前后的课程:
public abstract class AwesomeClass
{
public abstract Guid SuperGuid { get; set; }
public abstract int SuperInt { get; set; }
}
public sealed class AwesomeClass
{
public Guid SuperGuid { get; set; }
public int SuperInt { get; set; }
public int OtherSuperInt { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
你的意思是当你有这个时:
public abstract class Foo
{
public string Bar;
}
void UpdateFooBar(Foo foo)
{
foo.Bar = "Updated";
}
Run Code Online (Sandbox Code Playgroud)
而你换成abstract class Foo,sealed class Foo会UpdateFooBar(Foo foo)继续工作吗?
是什么阻止了你尝试?但是,是的,它会的。