Поделиться через


NewExpression Класс

Определение

Представляет вызов конструктора.

public ref class NewExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class NewExpression sealed : System::Linq::Expressions::Expression
public ref class NewExpression : System::Linq::Expressions::Expression
public class NewExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class NewExpression : System.Linq.Expressions.Expression
public class NewExpression : System.Linq.Expressions.Expression
type NewExpression = class
    inherit Expression
    interface IArgumentProvider
type NewExpression = class
    inherit Expression
Public Class NewExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class NewExpression
Inherits Expression
Public Class NewExpression
Inherits Expression
Наследование
NewExpression
Реализации

Примеры

В следующем примере создается NewExpression объект , представляющий построение нового экземпляра объекта словаря.

// Create a NewExpression that represents constructing
// a new instance of Dictionary<int, string>.
System.Linq.Expressions.NewExpression newDictionaryExpression =
    System.Linq.Expressions.Expression.New(typeof(Dictionary<int, string>));

Console.WriteLine(newDictionaryExpression.ToString());

// This code produces the following output:
//
// new Dictionary`2()
' Create a NewExpression that represents constructing
' a new instance of Dictionary(Of Integer, String).
Dim newDictionaryExpression As System.Linq.Expressions.NewExpression = _
    System.Linq.Expressions.Expression.[New]( _
        Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]"))

Console.WriteLine(newDictionaryExpression.ToString())

' This code produces the following output:
'
' new Dictionary`2()

Комментарии

New Используйте фабричные методы для создания NewExpressionобъекта .

Значение NodeType свойства NewExpression объекта равно New.

Свойства

Arguments

Получает аргументы для конструктора.

CanReduce

Указывает, что узел можно сократить до более простого. Если возвращается значение true, для получения сокращенной формы можно вызвать Reduce().

(Унаследовано от Expression)
Constructor

Получает вызванный конструктор.

Members

Получает члены, которые могут извлечь значения полей, инициализированных с помощью аргументов конструктора.

NodeType

Возвращает тип узла данного Expression.

NodeType

Получает тип узла данного объекта Expression.

(Унаследовано от Expression)
Type

Получает статичный тип выражения, представленного этим выражением Expression.

Type

Получает статичный тип выражения, представленного этим выражением Expression.

(Унаследовано от Expression)

Методы

Accept(ExpressionVisitor)

Отправляет в конкретный метод Visit для данного типа узла. Например, объект MethodCallExpression вызывает метод VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

Отправляет в конкретный метод Visit для данного типа узла. Например, объект MethodCallExpression вызывает метод VisitMethodCall(MethodCallExpression).

(Унаследовано от Expression)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
Reduce()

Преобразует данный узел в более простое выражение. Если CanReduce возвращает значение true, данный метод должен вернуть допустимое выражение. Данный метод может вернуть другой узел, который нужно будет преобразовать еще раз.

(Унаследовано от Expression)
ReduceAndCheck()

Преобразует данный узел в более простое выражение. Если CanReduce возвращает значение true, данный метод должен вернуть допустимое выражение. Данный метод может вернуть другой узел, который нужно будет преобразовать еще раз.

(Унаследовано от Expression)
ReduceExtensions()

Упрощает выражение до известного типа узла (не являющегося узлом Extension) или возвращает выражение, если оно имеет известный тип.

(Унаследовано от Expression)
ToString()

Возвращает текстовое представление текущего объекта Expression.

(Унаследовано от Expression)
Update(IEnumerable<Expression>)

Создает новое выражение, аналогичное данному, но с использованием предоставленного дочернего элемента. Если все дочерние элементы совпадают, возвращается данное выражение.

VisitChildren(ExpressionVisitor)

Упрощает узел и вызывает делегат-посетитель для преобразованного выражения. Данный метод создает исключение, если узел невозможно упростить.

(Унаследовано от Expression)

Явные реализации интерфейса

IArgumentProvider.ArgumentCount

Получает число аргументов для узла дерева выражения.

IArgumentProvider.GetArgument(Int32)

Возвращает аргумент в индексе, создавая исключение, если индекс вне допустимых границ.

Применяется к