【发布时间】:2014-09-05 03:35:28
【问题描述】:
我在 C# 中有非常简单的模型类,具有 5 个自动属性 - 4 个 int 和一个 string
public class MyModel
{
public int id { get; set; }
public int refId { get; set; }
public int type { get; set; }
public int mappingId { get; set; }
public string name { get; set; }
}
我在 vb.net 中有一个类,可以调用并检索此模型的列表
Dim models As List(Of MyModel) = DataProvider.GetModels(refId)
这很好,一直在工作,没有警告。
但现在我正在重构和构建一个抽象基类,它在构造函数中接收这个模型列表
Public MustInherit Class MySpecialBase
Private ReadOnly _models As List(Of MyModel) ' No Warning
Public Sub New (ByVal models As List(Of MyModel)) 'Warning
_models = models
End Sub
Protected ReadOnly Property Models As List(Of MyModel) ' Warning
Get
Return _models
End Get
End Property
End Class
即使在这个抽象类中,警告也会出现在 (Of MyModel) 下的属性和构造函数上,但不会出现在私有类成员中。
我看不出这个模型是如何不符合 cls 的。两个程序集(vb 和 c#)都是类库。有人可以解释这种行为吗?是VS的问题吗?
【问题讨论】:
-
我使用您的代码并在 .Net Framework 3.5 中创建了两个库项目。但我没有收到任何错误。每件事都是完美的。我还尝试了使用不同的 .Net 框架的相同代码,但仍然没有收到任何错误。让我知道您使用的是哪个版本的 VS。
-
@NitinJoshi vs 2012。看看我对“Ripple”答案的评论