이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

System.Linq.Expressions 네임스페이스

 

게시 날짜: 2016년 11월

System.Linq.Expressions 클래스, 인터페이스 및 열거형 언어 수준 코드 식을 식 트리 형식의 개체로 나타낼 수 있도록 하는 네임 스페이스를 포함 합니다.

클래스설명
System_CAPS_pubclassBinaryExpression

이항 연산자가 있는 식을 나타냅니다.

System_CAPS_pubclassBlockExpression

변수를 정의할 수 있는 식의 시퀀스가 포함된 블록을 나타냅니다.

System_CAPS_pubclassCatchBlock

try 블록의 catch 문을 나타냅니다.

System_CAPS_pubclassConditionalExpression

조건부 연산자가 있는 식을 나타냅니다.

System_CAPS_pubclassConstantExpression

상수 값이 있는 식을 나타냅니다.

System_CAPS_pubclassDebugInfoExpression

디버그 정보에 대한 시퀀스 위치를 내보내거나 지웁니다. 그러면 디버거에서 디버깅할 때 올바른 소스 코드를 강조 표시할 수 있습니다.

System_CAPS_pubclassDefaultExpression

형식 또는 빈 식의 기본값을 나타냅니다.

System_CAPS_pubclassDynamicExpression

동적 연산을 나타냅니다.

System_CAPS_pubclassDynamicExpressionVisitor

동적 식 트리의 방문자 또는 재작성기를 나타냅니다.

System_CAPS_pubclassElementInit

IEnumerable 컬렉션의 단일 요소에 대한 이니셜라이저를 나타냅니다.

System_CAPS_pubclassExpression

식 트리 노드를 나타내는 클래스가 파생되는 기본 클래스를 제공합니다. 또한 다양한 노드 형식을 만드는 static(Visual Basic에서는 Shared) 팩터리 메서드가 들어 있습니다. 이 클래스는 abstract 클래스입니다.

System_CAPS_pubclassExpression<TDelegate>

강력한 형식의 람다 식을 식 트리 형태의 데이터 구조로 나타냅니다. 이 클래스는 상속될 수 없습니다.

System_CAPS_pubclassExpressionVisitor

식 트리의 방문자 또는 재작성기를 나타냅니다.

System_CAPS_pubclassGotoExpression

무조건 점프를 나타냅니다. 여기에는 return 문, break 문, continue 문 및 기타 점프가 포함됩니다.

System_CAPS_pubclassIndexExpression

속성 또는 배열의 인덱싱을 나타냅니다.

System_CAPS_pubclassInvocationExpression

인수 식 목록에 대리자 또는 람다 식을 적용하는 식을 나타냅니다.

System_CAPS_pubclassLabelExpression

에 배치할 수 있는 레이블을 나타냅니다 Expression 컨텍스트. 해당 제공한 값을 가져오는에 레이블로 점프, GotoExpression합니다. 그렇지 않으면 값을 받는 DefaultValue합니다. 하는 경우는 Type System.Void, 값을 제공 해야 합니다.

System_CAPS_pubclassLabelTarget

대상을 나타내는 데 사용 되는 GotoExpression합니다.

System_CAPS_pubclassLambdaExpression

람다 식을 설명합니다. .NET 메서드 본문과 유사한 코드 블록을 캡처합니다.

System_CAPS_pubclassListInitExpression

컬렉션 이니셜라이저가 있는 생성자 호출을 나타냅니다.

System_CAPS_pubclassLoopExpression

무한 루프를 나타냅니다. "break"로 종료할 수 있습니다.

System_CAPS_pubclassMemberAssignment

필드 또는 개체의 속성에 대한 할당 작업을 나타냅니다.

System_CAPS_pubclassMemberBinding

기본 클래스를 제공하며, 이 기본 클래스에서 새로 만든 개체의 멤버를 초기화하는 데 사용되는 바인딩을 나타내는 클래스가 파생됩니다.

System_CAPS_pubclassMemberExpression

필드 또는 속성에 대한 액세스를 나타냅니다.

System_CAPS_pubclassMemberInitExpression

생성자 호출 및 하나 이상의 새 개체 멤버에 대한 초기화를 나타냅니다.

System_CAPS_pubclassMemberListBinding

새로 만든 개체의 컬렉션 멤버 요소에 대한 초기화를 나타냅니다.

System_CAPS_pubclassMemberMemberBinding

새로 만든 개체 멤버의 멤버에 대한 초기화를 나타냅니다.

System_CAPS_pubclassMethodCallExpression

정적 메서드 또는 인스턴스 메서드에 대한 호출을 나타냅니다.

System_CAPS_pubclassNewArrayExpression

새 배열 생성 및 해당 새 배열의 요소 초기화를 나타냅니다.

System_CAPS_pubclassNewExpression

생성자 호출을 나타냅니다.

System_CAPS_pubclassParameterExpression

명명된 매개 변수 식을 나타냅니다.

System_CAPS_pubclassRuntimeVariablesExpression

변수에 대 한 런타임 읽기/쓰기 권한을 제공 하는 식입니다.

System_CAPS_pubclassSwitchCase

한 사례는 SwitchExpression합니다.

System_CAPS_pubclassSwitchExpression

컨트롤을 전달 하 여 여러 선택 항목을 처리 하는 제어 식을 나타냅니다 SwitchCase합니다.

System_CAPS_pubclassSymbolDocumentInfo

소스 파일에 대한 디버깅 기호 정보를 내보내는 데 필요한 정보 특히, 파일 이름 및 고유 언어 식별자를 저장합니다.

System_CAPS_pubclassTryExpression

try/catch/finally/fault 블록을 나타냅니다.

System_CAPS_pubclassTypeBinaryExpression

식과 형식 간의 작업을 나타냅니다.

System_CAPS_pubclassUnaryExpression

단항 연산자가 있는 식을 나타냅니다.

인터페이스설명
System_CAPS_pubinterfaceIArgumentProvider

여러 트리 노드의 인수(DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression 및 InexExpression)에 액세스하기 위한 내부 인터페이스를 제공합니다. 이 API는 사용하지 않아야 합니다. 이 API는 DLL 리팩터링으로 인해 공용으로만 사용되며 내부 성능 최적화를 위해서만 존재합니다.

이 API를 사용하여 두 개의 최적화를 수행하여 식 트리의 크기를 줄일 수 있습니다. 첫 번째 최적화를 통해 트리 노드가 ReadOnlyCollection이 아니라 IList<T>를 유지할 수 있습니다. IList<T>는 각 노드에 대해 ReadOnlyCollection을 할당하는 비용을 절약합니다. 둘째 최적화를 통해서는 특정 수의 인수(예: Block2, Block3, Block4)를 유지하는 특수화된 서브클래스를 만들 수 있습니다. 따라서 이러한 노드를 사용하면 ReadOnlyCollection과 해당 요소를 저장하기 위한 배열을 모두 할당할 필요가 없으므로 노드당 32바이트를 절약합니다.

식 트리 노드가 계속 ReadOnlyCollections의 원래 LINQ 속성을 노출합니다. 노드에서는 배열 또는 일반적으로 배열에 저장될 요소를 모두 저장하는 데 필드를 다시 사용하여 이 작업을 수행합니다.

배열의 경우 컬렉션은 ReadOnlyCollection<T>가 아니라 IList<T>로 형식화됩니다. 노드가 처음 생성될 때 노드는 배열입니다. 컴파일러가 멤버에 액세스할 때 이 인터페이스를 사용합니다. 배열 요소에 액세스하면 배열이 ReadOnlyCollection으로 승격됩니다.

개체의 경우 필드 형식의 첫 번째 인수를 개체에 저장합니다. 노드를 처음 생성할 때 필드에 Expression이 보유됩니다. 컴파일러에서 이 인터페이스를 통해 인수에 액세스하며, 첫 번째 인수의 접근자가 Expression.ReturnObject를 사용하여 Expression 또는 ReadOnlyCollection 경우를 처리하는 개체를 반환합니다. 사용자가 ReadOnlyCollection에 액세스하면 개체 필드가 직접 ReadOnlyCollection을 보존하도록 개체 필드가 업데이트됩니다.

Expressions에서 동일한 ReadOnlyCollection을 일관되게 반환하는 것이 중요합니다. 그러지 않으면 재기록기 트리 워커가 중단됩니다. LINQ v1의 새로운 변경 사항으로 동일한 Expression 노드에서 다른 ReadOnlyCollections를 반환합니다. 현재 사용자가 개체 ID를 통해 노드가 변경되었는지 확인할 수 있습니다. 오버로드된 필드에 ReadOnlyCollection을 저장하면 메모리 사용이 감소되고 공용 API의 호환성이 유지됩니다.

System_CAPS_pubinterfaceIDynamicExpression

호출 사이트 및 다시 쓰기 기능 외에도 DynamicExpression 트리 노드의 인수에 액세스하기 위한 내부 인터페이스를 제공합니다. 이 API는 사용하지 않아야 합니다. 이 API는 DLL 리팩터링으로 인해 공용으로만 사용되며 내부 성능 최적화를 위해서만 존재합니다.

열거형설명
System_CAPS_pubenumExpressionType

식 트리 노드에 대한 노드 형식을 설명합니다.

System_CAPS_pubenumGotoExpressionKind

어떤 종류의 점프이 지정 GotoExpression 나타냅니다.

System_CAPS_pubenumMemberBindingType

사용 되는 바인딩 형식에 설명 MemberInitExpression 개체입니다.

추상 클래스 Expression 식 트리 모델에 사용 되는 클래스 계층의 루트를 제공 합니다.

파생 되는이 네임 스페이스의 클래스 Expression, 예를 들어, MemberExpressionParameterExpression, 식 트리의 노드를에서 나타내는 데 사용 됩니다. Expression 클래스에 포함 되어 static (Shared Visual basic에서) 식 다양 한 종류의 트리 노드를 만드는 팩터리 메서드가 있습니다.

열거형 형식 ExpressionType 고유 노드 유형을 지정 합니다.

맨 위로 이동
표시: