2009-12-21 82 views
1

您好我一直在寻找的sharparchitecture某些教程和努力都无济于事(在线转换器似乎没有能够做到这一点):C#拉姆达转换到VB

private Action<AutoMappingExpressions> GetSetup() 
{ 
    return c => 
    { 
     c.FindIdentity = type => type.Name == "Id"; 
    }; 
} 

private Action<IConventionFinder> GetConventions() 
{ 
    return c => 
    { 
     c.Add<MVCTemp.Data.NHibernateMaps.Conventions.ForeignKeyConvention>(); 
     c.Add<MVCTemp.Data.NHibernateMaps.Conventions.HasManyConvention>(); 
     c.Add<MVCTemp.Data.NHibernateMaps.Conventions.HasManyToManyConvention>(); 
     c.Add<MVCTemp.Data.NHibernateMaps.Conventions.ManyToManyTableNameConvention>(); 
     c.Add<MVCTemp.Data.NHibernateMaps.Conventions.PrimaryKeyConvention>(); 
     c.Add<MVCTemp.Data.NHibernateMaps.Conventions.ReferenceConvention>(); 
     c.Add<MVCTemp.Data.NHibernateMaps.Conventions.TableNameConvention>(); 
    }; 
} 
+2

什么是你的问题? – 2009-12-21 16:16:35

+2

问题到底是什么? – 2009-12-21 16:16:48

+0

他可能试图将其转换为VB。 – SLaks 2009-12-21 16:19:54

回答

4

我假设你'试图将其转换为VB.Net。

之前的Visual Basic 2010(目前在beta),这是不可能的。

在2008年VB.Net Lambda表达式只能容纳一个表达式。

但是,您可以创建Shared助手函数做的工作并返回它们。

例如:(在VB)

Function GetConventions() As Action(Of IConventionFinder) 
    Return AddressOf GetConventionsHelper 
End Function 

Shared Sub GetConventionsHelper(c As IConventionFinder) 
    c.Add(Of MVCTemp.Data.NHibernateMaps.Conventions.ForeignKeyConvention)() 
    c.Add(Of MVCTemp.Data.NHibernateMaps.Conventions.HasManyConvention)() 
    c.Add(Of MVCTemp.Data.NHibernateMaps.Conventions.HasManyToManyConvention)() 
    c.Add(Of MVCTemp.Data.NHibernateMaps.Conventions.ManyToManyTableNameConvention)() 
    c.Add(Of MVCTemp.Data.NHibernateMaps.Conventions.PrimaryKeyConvention)() 
    c.Add(Of MVCTemp.Data.NHibernateMaps.Conventions.ReferenceConvention)() 
    c.Add(Of MVCTemp.Data.NHibernateMaps.Conventions.TableNameConvention)() 
End Sub 
+1

对不起,模糊的问题是我想将它转换为vb.net – Monkeeman69 2009-12-21 23:35:36