部分类,LINQ,接口和VB.NET

时间:2009-01-23 14:55:34

标签: vb.net interface

好的,我遇到了VB.NET的问题。所以那些VB.NET的维护者,你能帮帮我吗?这是我的问题:我正在使用LINQ to Entities,它也适用于LINQ to SQL,我构建我的edmx文件然后我创建一个与实体之一同名的Partial Publc类所有现在都很好,所以这里来了问题。

我需要Partial类来实现Interface Implements Interfaces.IAsset但是VB.NET想要在属性的末尾放置“Implements Interfaces.IAsset.ID”,这当然是在Partial的生成代码部分中class,我不能这样做,因为edmx文件是自动生成的,将来会改变。

以下是需要排序的代码行:

公共属性ID1()As Integer实现Interfaces.IAsset.ID

在C#中它很好并且可以创造奇迹。那么为什么VB.NET不能实现代码生成类中的接口呢?

2 个答案:

答案 0 :(得分:6)

部分类中的一点间接应该可以解决这个问题......

Public Property AssetId() As Int32 Implements IAsset.AssetId
    Get
        Return Id1
    End Get
    Set(ByVal value As Int32)
        Id1 = value
    End Set
End Property

实现接口的属性调用dbml生成的实际属性。该类基本上有两个id属性,这不是很优雅,但是当通过界面访问时你不会知道它们的区别。

答案 1 :(得分:1)

没有办法解决这个问题。这是VB如何强迫您处理接口实现的缺陷。

您可以为C#中的LINQ to Entities创建一个单独的库。我不确定你是否可以将部分类放在单独的项目中,并将基础知识保存在VB中。我从来没有尝试过。