當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET Expression.MemberInit方法代碼示例

本文整理匯總了VB.NET中System.Linq.Expressions.Expression.MemberInit方法的典型用法代碼示例。如果您正苦於以下問題:VB.NET Expression.MemberInit方法的具體用法?VB.NET Expression.MemberInit怎麽用?VB.NET Expression.MemberInit使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Linq.Expressions.Expression的用法示例。


在下文中一共展示了Expression.MemberInit方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。

示例1: TestMemberInitClass

' Add the following directive to your file:
' Imports System.Linq.Expressions  

Class TestMemberInitClass
    Public Property Sample As Integer
End Class

Sub MemberInit()
    ' This expression creates a new TestMemberInitClass object
    ' and assigns 10 to its Sample property.
    Dim testExpr As Expression = Expression.MemberInit(
        Expression.[New](GetType(TestMemberInitClass)),
        New List(Of MemberBinding)() From {
            Expression.Bind(GetType(TestMemberInitClass).GetMember("Sample")(0), Expression.Constant(10))
        }
    )

    ' The following statement first creates an expression tree,
    ' then compiles it, and then runs it.
    Dim test = Expression.Lambda(Of Func(Of TestMemberInitClass))(testExpr).Compile()()
    Console.WriteLine(test.Sample)
End Sub
開發者ID:VB.NET開發者,項目名稱:System.Linq.Expressions,代碼行數:22,代碼來源:Expression.MemberInit

輸出:

10

示例2: Animal

Class Animal
    Public Species As String
    Public Age As Integer
End Class

Shared Sub CreateMemberInitExpression()
    Dim newAnimal As System.Linq.Expressions.NewExpression = _
        System.Linq.Expressions.Expression.[New](Type.GetType("ExpressionVB.MemberInitExample+Animal"))

    Dim speciesMember As System.Reflection.MemberInfo = _
        Type.GetType("ExpressionVB.MemberInitExample+Animal").GetMember("Species")(0)
    Dim ageMember As System.Reflection.MemberInfo = _
        Type.GetType("ExpressionVB.MemberInitExample+Animal").GetMember("Age")(0)

    ' Create a MemberBinding object for each member
    ' that you want to initialize.
    Dim speciesMemberBinding As System.Linq.Expressions.MemberBinding = _
        System.Linq.Expressions.Expression.Bind( _
            speciesMember, _
            System.Linq.Expressions.Expression.Constant("horse"))
    Dim ageMemberBinding As System.Linq.Expressions.MemberBinding = _
        System.Linq.Expressions.Expression.Bind( _
            ageMember, _
            System.Linq.Expressions.Expression.Constant(12))

    ' Create a MemberInitExpression that represents initializing
    ' two members of the 'Animal' class.
    Dim memberInitExpression As System.Linq.Expressions.MemberInitExpression = _
        System.Linq.Expressions.Expression.MemberInit( _
            newAnimal, _
            speciesMemberBinding, _
            ageMemberBinding)

    Console.WriteLine(memberInitExpression.ToString())

    ' This code produces the following output:
    '
    ' new Animal() {Species = "horse", Age = 12}
End Sub
開發者ID:VB.NET開發者,項目名稱:System.Linq.Expressions,代碼行數:39,代碼來源:Expression.MemberInit


注:本文中的System.Linq.Expressions.Expression.MemberInit方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。