2009-01-23 40 views
5

好吧,我遇到了VB.NET的一個問題。所以所有VB.NET的捍衛者請你幫我一下嗎?這裏是我的問題:我正在使用LINQ to Entities,它也適用於LINQ to SQL,我構建了我的edmx文件,然後創建了一個與其中一個實體同名的部分Publc Class。問題。部分類,LINQ,接口和VB.NET

我需要部分類來實現一個接口實現Interfaces.IAsset但是VB.NET想要在屬性的末尾放置「Implements Interfaces.IAsset.ID」,這當然是在生成的代碼部分的部分課程,我不能做的edmx文件是自動生成的,將來會改變。

下面是代碼,需要分揀線:

公共財產ID1()作爲整數器具Interfaces.IAsset.ID

在C#是罰款和創造奇蹟。那麼爲什麼VB.NET不能實現代碼生成類中的接口呢?

回答

5

在部分類應該做的伎倆間接的點點......

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屬性,這不是很優雅,但通過接口訪問時,你不會知道區別。

+2

是的,我同意。這只是費時和不必要的編碼 – Coppermill 2009-04-17 09:12:23

0

這是沒有辦法。這是VB強制你處理接口實現的一個缺陷。

您可以爲C#中的LINQ to Entities創建單獨的庫。我不確定您是否可以將部分類放在單獨的項目中,並將基礎保留在VB中。我從來沒有嘗試過。