缩小回报类型是一个突破性变化吗?

时间:2013-09-17 10:04:42

标签: c# .net vb.net binary-compatibility

假设我有一个带有以下方法的.NET库(v1.0):

public IPrincipal GetUser() { ... }

在版本2.0中我用

替换它
public MyUserClass GetUser() { ... }

为新客户提供其他信息。

假设MyUserClass实施IPrincipal,这是一次重大改变吗?

“破坏更改”是指“打破二进制兼容性”:如果SomeClient.exe使用myLibrary.dll的v1.0,我将其替换为v2.0而不是重新编译SomeClient.exe,我会遇到麻烦吗? (源代码兼容性显然很满意。另外,我没有使用强名称程序集。)

1 个答案:

答案 0 :(得分:0)

是的,如果有人返回了YourUserClass(也实现了IPrincipal),它将不再有效。