Expression.ElementInit Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir ElementInitoluşturur.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| ElementInit(MethodInfo, IEnumerable<Expression>) |
İkinci bağımsız değişken olarak verilen bir ElementInitIEnumerable<T> oluşturur. |
| ElementInit(MethodInfo, Expression[]) |
ElementInitİkinci bağımsız değişken olarak bir değer dizisi verilip bir oluşturur. |
ElementInit(MethodInfo, IEnumerable<Expression>)
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
İkinci bağımsız değişken olarak verilen bir ElementInitIEnumerable<T> oluşturur.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit(System.Reflection.MethodInfo addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
static member ElementInit : System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, arguments As IEnumerable(Of Expression)) As ElementInit
Parametreler
- addMethod
- MethodInfo
Özelliğinin AddMethod değerine eşit olarak ayarlanması için AMethodInfo.
- arguments
- IEnumerable<Expression>
IEnumerable<T> Özelliğinin eşit olarak ayarlanacağı Arguments nesneleri içeren Expression bir.
Döndürülenler
ElementInit AddMethod ve Arguments özellikleri belirtilen değerlere ayarlanmış bir.
Özel durumlar
addMethod veya arguments şeklindedir null.
Temsil eden addMethod yöntem "Ekle" (büyük/küçük harfe duyarsız) olarak adlandırılmaz.
-veya-
Temsil eden addMethod yöntem bir örnek yöntemi değildir.
-veya-
arguments , temsil eden addMethod yöntemin parametre sayısıyla aynı sayıda öğe içermez.
-veya-
Type öğesinin bir veya daha fazla öğesinin arguments özelliği, temsil eden addMethod yöntemin ilgili parametresinin türüne atanamaz.
Örnekler
Aşağıdaki örnek, bir sözlük koleksiyonunun ElementInit(MethodInfo, Expression[]) öğesini başlatmak için yöntemini çağıran Add bir oluşturmak ElementInit için yönteminin nasıl kullanılacağını gösterir.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
Açıklamalar
parametresinin addMethod "Add" (büyük/küçük harfe duyarsız) adlı bir örnek yöntemini temsil etmesi gerekir. add yöntemi, içindeki argumentsöğe sayısıyla aynı sayıda parametreye sahip olmalıdır. içindeki her öğenin özelliği, büyük olasılıkla alıntı yaptıktan sonra add yönteminin karşılık gelen parametresinin türüne atanabilir olmalıdır.argumentsType
Uyarı
Bir öğe yalnızca ilgili yöntem parametresi türündeyse Expressiontırnak içine alınır. Alıntılama, öğenin bir Quote düğümde sarmalanması anlamına gelir. Sonuçta elde edilen düğüm, özelliği öğesinin argumentsöğesi olan bir UnaryExpressionOperand düğümdür.
Şunlara uygulanır
ElementInit(MethodInfo, Expression[])
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
ElementInitİkinci bağımsız değişken olarak bir değer dizisi verilip bir oluşturur.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit(System.Reflection.MethodInfo addMethod, params System.Linq.Expressions.Expression[] arguments);
static member ElementInit : System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, ParamArray arguments As Expression()) As ElementInit
Parametreler
- addMethod
- MethodInfo
Özelliğinin AddMethod değerine eşit olarak ayarlanması için AMethodInfo.
- arguments
- Expression[]
Özelliğinin Expression eşit olarak ayarlanacağı Arguments bir nesne dizisi.
Döndürülenler
ElementInit AddMethod ve Arguments özellikleri belirtilen değerlere ayarlanmış bir.
Özel durumlar
addMethod veya arguments şeklindedir null.
addMethod'un temsil ettiği yöntem "Ekle" olarak adlandırılmaz (büyük/küçük harfe duyarsız).
-veya-
addMethod'un temsil ettiği yöntem bir örnek yöntemi değildir.
-veya-
bağımsız değişkenleri, addMethod'un temsil ettiği yöntemin parametre sayısıyla aynı sayıda öğe içermez.
-veya-
Type öğesinin bir veya daha fazla öğesinin arguments özelliği, temsil eden addMethod yöntemin ilgili parametresinin türüne atanamaz.
Örnekler
Aşağıdaki örnek, bir sözlük koleksiyonunun ElementInit(MethodInfo, Expression[]) öğesini başlatmak için yöntemini çağıran Add bir oluşturmak ElementInit için yönteminin nasıl kullanılacağını gösterir.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
Açıklamalar
parametresinin addMethod "Add" (büyük/küçük harfe duyarsız) adlı bir örnek yöntemini temsil etmesi gerekir. add yöntemi, içindeki argumentsöğe sayısıyla aynı sayıda parametreye sahip olmalıdır. içindeki her öğenin özelliği, büyük olasılıkla alıntı yaptıktan sonra add yönteminin karşılık gelen parametresinin türüne atanabilir olmalıdır.argumentsType
Uyarı
Bir öğe yalnızca ilgili yöntem parametresi türündeyse Expressiontırnak içine alınır. Alıntılama, öğenin bir Quote düğümde sarmalanması anlamına gelir. Sonuçta elde edilen düğüm, özelliği öğesinin argumentsöğesi olan bir UnaryExpressionOperand düğümdür.