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.
oluşturur ElementInit.
Aşırı Yüklemeler
ElementInit(MethodInfo, IEnumerable<Expression>) |
İkinci bağımsız değişken olarak verilen bir ElementInitIEnumerable<T> oluşturur. |
ElementInit(MethodInfo, Expression[]) |
İkinci bağımsız değişken olarak bir değer dizisi verilen bir ElementInitoluşturur. |
ElementInit(MethodInfo, IEnumerable<Expression>)
- 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 belirtilen değerlere AddMethod ayarlanmış ve Arguments özelliklerine sahip 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 bir veya daha fazla öğesinin arguments
özelliği, temsil eden addMethod
yöntemin karşılık gelen parametresinin türüne atanamaz.
Örnekler
Aşağıdaki örnek, bir sözlük koleksiyonunun ElementInit(MethodInfo, Expression[]) bir öğ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" adlı bir örnek yöntemini (büyük/küçük harfe duyarsız) 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, muhtemelen alıntı yaptıktan sonra add yönteminin karşılık gelen parametresinin türüne atanabilir olmalıdır.arguments
Type
Not
Bir öğe yalnızca karşılık gelen yöntem parametresi türündeyse Expressiontırnak içine alınır. Alıntı, öğenin bir Quote düğümde sarmalanması anlamına gelir. Sonuçta elde edilen düğüm, özelliği öğesi olan bir UnaryExpressionOperand düğümdür arguments
.
Şunlara uygulanır
ElementInit(MethodInfo, Expression[])
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
- Kaynak:
- ElementInit.cs
İkinci bağımsız değişken olarak bir değer dizisi verilen bir ElementInitoluş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 belirtilen değerlere AddMethod ayarlanmış ve Arguments özelliklerine sahip bir.
Özel durumlar
addMethod
veya arguments
şeklindedir null
.
addMethod tarafından temsil edilen yöntem "Add" (büyük/küçük harfe duyarsız) olarak adlandırılmaz.
-veya-
addMethod'un temsil eden yöntemi bir örnek yöntemi değildir.
-veya-
bağımsız değişkenleri, addMethod tarafından temsil edilen yöntemin parametre sayısıyla aynı sayıda öğe içermez.
-veya-
Type bir veya daha fazla öğesinin arguments
özelliği, temsil eden addMethod
yöntemin karşılık gelen parametresinin türüne atanamaz.
Örnekler
Aşağıdaki örnek, bir sözlük koleksiyonunun ElementInit(MethodInfo, Expression[]) bir öğ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" adlı bir örnek yöntemini (büyük/küçük harfe duyarsız) 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, muhtemelen alıntı yaptıktan sonra add yönteminin karşılık gelen parametresinin türüne atanabilir olmalıdır.arguments
Type
Not
Bir öğe yalnızca karşılık gelen yöntem parametresi türündeyse Expressiontırnak içine alınır. Alıntı, öğenin bir Quote düğümde sarmalanması anlamına gelir. Sonuçta elde edilen düğüm, özelliği öğesi olan bir UnaryExpressionOperand düğümdür arguments
.