我正在将课程从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; }
}
答案 0 :(得分:1)
你的意思是,当你有这个:
public abstract class Foo
{
public string Bar;
}
void UpdateFooBar(Foo foo)
{
foo.Bar = "Updated";
}
您将abstract class Foo
更改为sealed class Foo
,UpdateFooBar(Foo foo)
会继续有效吗?
是什么阻止你尝试?但是,它会的。