MethodCallExpression Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili panggilan ke metode statis atau instans.
public ref class MethodCallExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class MethodCallExpression sealed : System::Linq::Expressions::Expression
public ref class MethodCallExpression : System::Linq::Expressions::Expression
public class MethodCallExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class MethodCallExpression : System.Linq.Expressions.Expression
public class MethodCallExpression : System.Linq.Expressions.Expression
type MethodCallExpression = class
inherit Expression
interface IArgumentProvider
type MethodCallExpression = class
inherit Expression
Public Class MethodCallExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class MethodCallExpression
Inherits Expression
Public Class MethodCallExpression
Inherits Expression
- Warisan
- Penerapan
Contoh
Contoh berikut membuat MethodCallExpression objek yang mewakili pengindeksan ke dalam array dua dimensi.
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)
Keterangan
CallGunakan metode pabrik , ArrayIndex, atau ArrayIndex untuk membuat MethodCallExpression.
Nilai NodeType properti objek MethodCallExpression adalah Call.
Properti
Arguments |
Mendapatkan kumpulan ekspresi yang mewakili argumen dari metode yang disebut. |
CanReduce |
Menunjukkan bahwa simpul dapat dikurangi menjadi simpul yang lebih sederhana. Jika ini mengembalikan true, Reduce() dapat dipanggil untuk menghasilkan formulir yang dikurangi. (Diperoleh dari Expression) |
Method |
MethodInfo Mendapatkan untuk metode yang akan dipanggil. |
NodeType |
Mengembalikan jenis node dari ini Expression. |
NodeType |
Mendapatkan jenis node ini Expression. (Diperoleh dari Expression) |
Object |
Expression Mendapatkan yang mewakili instans untuk panggilan metode instans atau null untuk panggilan metode statis. |
Type |
Mendapatkan jenis statis ekspresi yang diwakili ini Expression . |
Type |
Mendapatkan jenis statis ekspresi yang diwakili ini Expression . (Diperoleh dari Expression) |
Metode
Accept(ExpressionVisitor) |
Dikirim ke metode kunjungan tertentu untuk jenis node ini. Misalnya, MethodCallExpression memanggil VisitMethodCall(MethodCallExpression). |
Accept(ExpressionVisitor) |
Dikirim ke metode kunjungan tertentu untuk jenis node ini. Misalnya, MethodCallExpression memanggil VisitMethodCall(MethodCallExpression). (Diperoleh dari Expression) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
Reduce() |
Mengurangi simpul ini menjadi ekspresi yang lebih sederhana. Jika CanReduce mengembalikan true, ini akan mengembalikan ekspresi yang valid. Metode ini dapat mengembalikan simpul lain yang harus dikurangi. (Diperoleh dari Expression) |
ReduceAndCheck() |
Mengurangi simpul ini menjadi ekspresi yang lebih sederhana. Jika CanReduce mengembalikan true, ini akan mengembalikan ekspresi yang valid. Metode ini dapat mengembalikan simpul lain yang harus dikurangi. (Diperoleh dari Expression) |
ReduceExtensions() |
Mengurangi ekspresi ke jenis node yang diketahui (yang bukan node Ekstensi) atau hanya mengembalikan ekspresi jika sudah menjadi jenis yang diketahui. (Diperoleh dari Expression) |
ToString() |
Mengembalikan representasi tekstual dari Expression. (Diperoleh dari Expression) |
Update(Expression, IEnumerable<Expression>) |
Membuat ekspresi baru yang seperti ini, tetapi menggunakan anak-anak yang disediakan. Jika semua anak sama, itu akan mengembalikan ekspresi ini. |
VisitChildren(ExpressionVisitor) |
Mengurangi simpul lalu memanggil delegasi pengunjung pada ekspresi yang dikurangi. Metode ini memberikan pengecualian jika node tidak dapat dikurangi. (Diperoleh dari Expression) |
Implementasi Antarmuka Eksplisit
IArgumentProvider.ArgumentCount |
Mengembalikan jumlah argumen ke simpul pohon ekspresi. Anda tidak boleh menggunakan anggota ini. Ini hanya publik karena pemfaktoran ulang perakitan, dan digunakan secara internal untuk pengoptimalan performa. |
IArgumentProvider.GetArgument(Int32) |
Mengembalikan argumen pada indeks, melemparkan jika indeks berada di luar batas. Anda tidak boleh menggunakan anggota ini. Ini hanya publik karena pemfaktoran ulang perakitan, dan digunakan secara internal untuk pengoptimalan performa. |