2010-05-07 2 views
3

누군가가 내게 도움이 될 수 있습니다 pls, 메신저 새로운 vb.net 및 메신저 nhibernate firstsolution 샘플 (C로 작성된 여기에 게시 된 # https://web.archive.org/web/20090831053827/http://blogs.hibernatingrhinos.com/nhibernate/archive/2008/04/01/your-first-nhibernate-based-application.aspx thier 사이트로 다시 아래로있다) 그리고 im는이 1 비트를 개조하기 위해 고투한다. 필자는 수많은 컨버터를 시험해 보았습니다. 이 방법을 검색하는 경우VB.Net 변환 - 초기화와 클래스 개체의 배열

알면 찾을 ... telerik, developerfusion과 몇몇 다른 사람 있지만 생산 코드 없음 컴파일하고 나는 이유를 볼 수 없습니다 어디 메신저 개까지 ...

private readonly Product[] _products = new[] 
{ 
    new Product {Name = "Melon", Category = "Fruits"}, 
    new Product {Name = "Pear", Category = "Fruits"}, 
    new Product {Name = "Milk", Category = "Beverages"}, 
    new Product {Name = "Coca Cola", Category = "Beverages"}, 
    new Product {Name = "Pepsi Cola", Category = "Beverages"},     
}; 

' just the next part of the tutorial, ive resolved the "var" in vb.net 2005 bit np 
private void CreateInitialData()   
{ 
    using(ISession session = _sessionFactory.OpenSession())     
     using(ITransaction transaction = session.BeginTransaction())     
     { 
      foreach (var product in _products) 
       session.Save(product); 
       transaction.Commit(); 
     } 
} 

이후 내 C#과 VB는 둘 다 최고의 ive가 여러 개의 변환 유틸리티/사이트를 사용하려고 시도 할 때 흔들릴 수 있습니다.

개발자 융합이 있습니다 : 그것은 여기 예상 유형에 대해 불평을 제외하고

Private ReadOnly _products As Product() = New() {New Product(), New Product(), New Product(), New Product(), New Product()} 

가장 유용 할 것 같습니다

Private ReadOnly _products As Product() = New() {New Product() With { _ 
.Name = "Melon", _ 
.Category = "Fruits" _ 
}, New Product() With { _ 
.Name = "Pear", _ 
.Category = "Fruits" _ 
}, New Product() With { _ 
.Name = "Milk", _ 
.Category = "Beverages" _ 
}, Nw Product() With { _ 
.Name = "Coca Cola", _ 
.Category = "Beverages" _ 
}, New Product() With { _ 
.Name = "Pepsi Cola", _ 
.Category = "Beverages" _ 
}} 

을 제공 telerik "새로운() {..." 필자는 다양한 시도 의견에 제안 된대로 New()에서 누락 된 유형을 비롯한 여러 가지가 있지만 그 사실을 이해할 수는 없습니다. 무엇이 누락 되었습니까? 나는 바보가되고있는거야? 또는 거기에 equivilent입니까?

이것은 튜토리얼 C#에서 변환기 사이트에 간단한 복사 n 붙여 넣기이므로이 모든 코드입니다. 는 개발자 융합 정의를 사용하고 다른 방법으로 배열 요소를 수동으로 채 웁니다. 즉

Private _products As Product() = {New Product(), New Product(), New Product(), New Product(), New Product()} 
Private Sub CreateInitialData() 
    ' ================= 
    ' since i couldnt figure out how to convert the initialisation of the 
    ' "_products" array/collections whatever it is, i cheated and did this, 
    ' seems to work ok though probably poor practice 
    With _products(0) 
     .Name = "Melon" 
     .Category = "Fruits" 
    End With 
    ' etc.... 
End Sub 

배경이 중요한 경우 : VS2005, .NET 2.0

건배 모든

답변

2

VB.NET 8.0/Visual Studio 2005에서는 직접 개체 초기화에 With 문을 사용할 수 없습니다. 그러나, 나는 당신이 함수에서 초기화를 캡슐화 할 수 있어야한다고 생각 :

Private ReadOnly _products() As Product = BuildProducts() 

    Private Function BuildProducts() As Product() 
     Dim products(4) As Product 

     Dim product0 As New Product 
     With product0 
      .Name = "Melon" 
      .Category = "Fruits" 
     End With 

     Dim product1 As New Product 
     With product1 
      .Name = "Pear" 
      .Category = "Fruits" 
     End With 

     Dim product2 As New Product 
     With product2 
      .Name = "Milk" 
      .Category = "Beverages" 
     End With 

     Dim product3 As New Product 
     With product3 
      .Name = "Coca Cola" 
      .Category = "Beverages" 
     End With 

     Dim product4 As New Product 
     With product4 
      .Name = "Pepsi Cola" 
      .Category = "Beverages" 
     End With 

     products(0) = product0 
     products(1) = product1 
     products(2) = product2 
     products(3) = product3 
     products(4) = product4 

     Return products 
    End Function 
+0

이것은 대답 인 것처럼 보입니다. 투표하기에 충분한 담당자가 아니지만 이것은 단기적으로 나왔습니다 (더 잘 알지 못함). 감사합니다. – Matma

+0

그것은 당신을 위해 일했기 때문에 다행. – Technobabble

1

이 시도 :

Private ReadOnly _products() as Product = 
{ 
    New Product() With {.Name = “Melon″, .Category = "Fruits"}, 
    ... 
} 

PS : 문제는 원래 C# 코드 함께 . >Private ReadOnly _products As Product()

  • new[] - - 그것은 private readonly Product[] _products = new Product[]

    이 때문에 수 있으며, 변환이 세 부분

    1. private readonly Product[] _products으로 분할>New()
    2. You Know What
  • +0

    확인 흠, 그것을 시도하고 이제 기대 문 "과 함께"처음에 대해 불평 "}" 이 변화하는 것입니다 버전 일이야? 메신저 vs2005 및 dotnet2.0 사용하고 원래 C#에서 변환하는 것으로 추정되는 몇 가지 장소에서 자사의 "var"로 vs2008 및 3.0입니다. dotnet/C# version im에 대한 예상되는 혼동을 100 % 생각하지 말라. – Matma

    +0

    당신은 당신의 코드를 게시 할 수 있습니까? C# 코드에 다른 문법이 있기 때문에, 예를 들어 음료수 – Amsakanna

    +0

    ive가 내가 가지고있는 모든 것들을 OP로 업데이트 한 후에 마지막 쉼표는 이전보다 많이는 아니지만 조금 더 분명하지만 모든 것에 대해 ... – Matma

    1

    더는 없다 VB8 (VS 2005)에서 이에 상응하는 우수한 기능을 제공합니다.