2010-07-15 32 views
0

在下面的僞代碼中,如果我有兩個類,並且我希望一個類在另一個類中初始化而名稱不必不同,那我該如何完成這個?在.NET中使用一致命名公開一個類。

'==Car.vb== 
Public Class Car 
    Public Model as New Car.Model() 
End Class 

'==Model.vb== 
Partial Class Car 
    Public Class Model 
     Public Enum Types 
      BMW 
      Audi 
      Yugo 
     End Enum 
     'Do Something 
    End Class 
End Class 

'==ASPX page== 
Dim c as New Car() 
c.Model = Car.Model.Types.BMW 

顯然,這不起作用,因爲新模型對象被命名爲與Car.Model類相同的東西。我只是不想也必須創建一個「模型」對象每次我定義了一個汽車類,但我也不想的名字是所有笨的像這一次:

'==Car.vb== 
Public Class Car 
    Public Model as New Car.CarModel() 
End Class 

'==Model.vb== 
Partial Class Car 
    Public Class CarModel 
     Public Enum Types 
      BMW 
      Audi 
      Yugo 
     End Enum 
     'Do Something 
    End Class 
End Class 

'==ASPX page== 
Dim c as New Car() 
c.Model = Car.CarModel.Types.BMW 

有沒有更好的這樣做的方式,讓我得到我的使用代碼的結果?

'==ASPX page== 
Dim c as New Car() 
c.Model = Car.Model.Types.BMW 

回答

1

這是不可能的,通常是一個壞主意。

You should avoid exposing nested types

+0

正如我所看到的,他已經使汽車成爲部分級別的汽車。 – codymanix 2010-07-15 16:02:20

+0

@codymanix:是的;我編輯過。 – SLaks 2010-07-15 16:03:55

+0

那麼你會怎麼做,而不是最終的使用代碼不會改變? – EdenMachine 2010-07-15 16:16:42

相關問題