Expression.ArrayIndex Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy obiekt Expression reprezentujący zastosowanie operatora indeksu tablicy.
Przeciążenia
ArrayIndex(Expression, Expression[]) |
Tworzy obiekt MethodCallExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy wielowymiarowej. |
ArrayIndex(Expression, IEnumerable<Expression>) |
Tworzy obiekt MethodCallExpression , który reprezentuje zastosowanie operatora indeksu tablicy do tablicy rangi więcej niż jeden. |
ArrayIndex(Expression, Expression) |
Tworzy obiekt BinaryExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy rangi. |
ArrayIndex(Expression, Expression[])
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy wielowymiarowej.
public:
static System::Linq::Expressions::MethodCallExpression ^ ArrayIndex(System::Linq::Expressions::Expression ^ array, ... cli::array <System::Linq::Expressions::Expression ^> ^ indexes);
public static System.Linq.Expressions.MethodCallExpression ArrayIndex (System.Linq.Expressions.Expression array, params System.Linq.Expressions.Expression[] indexes);
static member ArrayIndex : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function ArrayIndex (array As Expression, ParamArray indexes As Expression()) As MethodCallExpression
Parametry
- array
- Expression
Tablica Expression wystąpień — indeksy dla operacji indeksu tablicy.
- indexes
- Expression[]
Tablica Expression obiektów do użycia w celu wypełnienia kolekcji Arguments .
Zwraca
WłaściwośćMethodCallExpression, która ma właściwość równą CallNodeType właściwości i i ArgumentsObject ustawioną na określone wartości.
Wyjątki
array
lub indexes
to null
.
array
. Typ nie reprezentuje typu tablicy.
-lub-
Ranga . array
Typ nie jest zgodny z liczbą elementów w elemecie indexes
.
-lub-
Właściwość Type jednego lub większej indexes
liczby elementów nie reprezentuje Int32 typu.
Przykłady
W poniższym przykładzie pokazano, jak za pomocą ArrayIndex(Expression, Expression[]) metody utworzyć MethodCallExpression indeksowanie w tablicy dwuwymiarowej.
string[,] gradeArray =
{ {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };
System.Linq.Expressions.Expression arrayExpression =
System.Linq.Expressions.Expression.Constant(gradeArray);
// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
System.Linq.Expressions.Expression.ArrayIndex(
arrayExpression,
System.Linq.Expressions.Expression.Constant(0),
System.Linq.Expressions.Expression.Constant(2));
Console.WriteLine(methodCallExpression.ToString());
// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
{{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}
Dim arrayExpression As System.Linq.Expressions.Expression = _
System.Linq.Expressions.Expression.Constant(gradeArray)
' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
System.Linq.Expressions.Expression.ArrayIndex( _
arrayExpression, _
System.Linq.Expressions.Expression.Constant(0), _
System.Linq.Expressions.Expression.Constant(2))
Console.WriteLine(methodCallExpression.ToString())
' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)
Uwagi
Każdy element musi indexes
mieć Type wartość .Int32 Właściwość Typearray
musi reprezentować typ tablicy, którego ranga odpowiada liczbie elementów w indexes
obiekcie .
Jeśli ranga klasy array
. Typ to 1. Ta metoda zwraca wartość BinaryExpression. Właściwość Left jest ustawiona na array
, a Right właściwość jest ustawiona na pojedynczy element .indexes
Właściwość Type elementu BinaryExpression reprezentuje typ array
elementu . Typu.
Jeśli ranga klasy array
. Typ jest więcej niż jeden. Ta metoda zwraca wartość MethodCallExpression. Właściwość Method jest ustawiona na MethodInfo opis metody Get
wystąpienia publicznego w typie reprezentowanym Type przez właściwość .array
Dotyczy
ArrayIndex(Expression, IEnumerable<Expression>)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression , który reprezentuje zastosowanie operatora indeksu tablicy do tablicy rangi więcej niż jeden.
public:
static System::Linq::Expressions::MethodCallExpression ^ ArrayIndex(System::Linq::Expressions::Expression ^ array, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ indexes);
public static System.Linq.Expressions.MethodCallExpression ArrayIndex (System.Linq.Expressions.Expression array, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> indexes);
static member ArrayIndex : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.MethodCallExpression
Public Shared Function ArrayIndex (array As Expression, indexes As IEnumerable(Of Expression)) As MethodCallExpression
Parametry
- array
- Expression
Element , Expression aby ustawić właściwość równą Object .
- indexes
- IEnumerable<Expression>
Obiekt IEnumerable<T> zawierający Expression obiekty używane do wypełniania kolekcji Arguments .
Zwraca
WłaściwośćMethodCallExpression, która ma właściwość równą CallNodeType właściwości i i ArgumentsObject ustawioną na określone wartości.
Wyjątki
array
lub indexes
to null
.
array
. Typ nie reprezentuje typu tablicy.
-lub-
Ranga . array
Typ nie jest zgodny z liczbą elementów w elemecie indexes
.
-lub-
Właściwość Type jednego lub większej indexes
liczby elementów nie reprezentuje Int32 typu.
Przykłady
W poniższym przykładzie pokazano, jak za pomocą ArrayIndex(Expression, Expression[]) metody utworzyć MethodCallExpression indeksowanie w tablicy dwuwymiarowej.
string[,] gradeArray =
{ {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };
System.Linq.Expressions.Expression arrayExpression =
System.Linq.Expressions.Expression.Constant(gradeArray);
// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
System.Linq.Expressions.Expression.ArrayIndex(
arrayExpression,
System.Linq.Expressions.Expression.Constant(0),
System.Linq.Expressions.Expression.Constant(2));
Console.WriteLine(methodCallExpression.ToString());
// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
{{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}
Dim arrayExpression As System.Linq.Expressions.Expression = _
System.Linq.Expressions.Expression.Constant(gradeArray)
' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
System.Linq.Expressions.Expression.ArrayIndex( _
arrayExpression, _
System.Linq.Expressions.Expression.Constant(0), _
System.Linq.Expressions.Expression.Constant(2))
Console.WriteLine(methodCallExpression.ToString())
' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)
Uwagi
Każdy element musi indexes
mieć Type wartość .Int32 Właściwość Typearray
musi reprezentować typ tablicy, którego ranga odpowiada liczbie elementów w indexes
obiekcie .
Jeśli ranga klasy array
. Typ to 1. Ta metoda zwraca wartość BinaryExpression. Właściwość Left jest ustawiona na array
, a Right właściwość jest ustawiona na pojedynczy element .indexes
Właściwość Type elementu BinaryExpression reprezentuje typ array
elementu . Typu.
Jeśli ranga klasy array
. Typ jest więcej niż jeden. Ta metoda zwraca wartość MethodCallExpression. Właściwość Method jest ustawiona na MethodInfo opis metody Get
wystąpienia publicznego w typie reprezentowanym Type przez właściwość .array
Dotyczy
ArrayIndex(Expression, Expression)
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
Tworzy obiekt BinaryExpression reprezentujący zastosowanie operatora indeksu tablicy do tablicy rangi.
public:
static System::Linq::Expressions::BinaryExpression ^ ArrayIndex(System::Linq::Expressions::Expression ^ array, System::Linq::Expressions::Expression ^ index);
public static System.Linq.Expressions.BinaryExpression ArrayIndex (System.Linq.Expressions.Expression array, System.Linq.Expressions.Expression index);
static member ArrayIndex : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function ArrayIndex (array As Expression, index As Expression) As BinaryExpression
Parametry
- array
- Expression
A Expression , aby ustawić właściwość równą Left .
- index
- Expression
A Expression , aby ustawić właściwość równą Right .
Zwraca
WłaściwośćBinaryExpression, która ma właściwość równą ArrayIndexNodeType właściwości i i RightLeft ustawioną na określone wartości.
Wyjątki
array
lub index
to null
.
array
. Typ nie reprezentuje typu tablicy.
-lub-
array
. Typ reprezentuje typ tablicy, którego ranga nie jest równa 1.
-lub-
index
. Typ nie reprezentuje Int32 typu.
Uwagi
index
musi reprezentować indeks typu Int32.
Właściwość Method wynikowej BinaryExpression to null
, i są IsLiftedIsLiftedToNull ustawione na false
wartość . Właściwość Type jest równa typowi array
elementu . Typu. Właściwość Conversion to null
.