如何使 AddRange 类型安全

How to make AddRange type-safe

我在 vb.net

中有这个伪代码
Sub dummy()
    Dim a = New List(Of XDocument)
    Dim b = New List(Of Net.Mail.MailAddress)
    b.AddRange(a)
End Sub

显然,这永远行不通。但编译器会忽略它。

如何强制 VS 在编译时标记它?

谢谢

编译器只允许这样做,因为您有 Option Strict Off。您应该基本上总是在项目级别设置 Option Strict On 并且仅在极少数情况下您实际需要使用后期绑定时才在文件级别设置它 Off 。即使那样,您也应该只在那些实际需要它的特定文件中设置它 Off,并且您应该使用部分 类 来将这些文件中的代码保持在绝对最小值。

在您的项目属性中设置 Option Strict On,编译器会正确地将其标记为错误代码,并且您很有可能会看到其他问题区域也被突出显示。您还应该在 VS 选项中将其设置为 On,以便所有未来项目默认为 On