您好我一直在寻找关于sharparchitecture的某些教程并试图无济于事(在线转换器似乎无法做到这一点):
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>();
};
}
答案 0 :(得分:4)
我假设您正在尝试将其转换为VB.Net。
直到Visual Basic 2010(目前在beta中),这是不可能的。
VB.Net 2008中的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