c# - 缩小返回类型是一个重大变化吗?

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

<分区>

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

public IPrincipal GetUser() { ... }

在 2.0 版中,我将其替换为

public MyUserClass GetUser() { ... }

为新客户提供更多信息。

假设 MyUserClass 实现了 IPrincipal,这是否是重大更改?

我所说的“破坏性变化”是指“破坏 w.r.t. 二进制兼容性”:如果 SomeClient.exe 使用 v1.0 of myLibrary.dll , 我用 v2.0 替换它而不重新编译 SomeClient.exe,我会遇到麻烦吗? (源代码兼容性显然是满意的。另外,我没有使用强命名程序集。)

最佳答案

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

关于c# - 缩小返回类型是一个重大变化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18846884/

相关文章:

vb.net - WinForm 上的阴影会扭曲界面

c# - 将复选框添加到 ASP.NET GridView

.net - 以编程方式禁用 Windows 错误报告 (AppCrash) 对话框

c# - 找不到 sendNotifications 选项 Google Calendar api v3 .NET

c# - 将 Bootstrap 连接到 ASP.NET _Layout.cshtml 文件

c# - 由于特殊字符,在 VB.Net 中解析 XML 失败

c# - .Net Socket 增强以支持 ACK 和聊天?

c# - 如何通过集成 Windows 身份验证在 Azure Blob 存储中进行身份验证?

c# - 正则表达式停止除 _ 之外的特殊字符 not in start

asp.net - ASP 创建对象时没有此类接口(interface)支持错误