• Articles
  • Api Documentation
Show / Hide Table of Contents
  • Dataport.AppFrameDotNet.DotNetTools.Collections
    • ExpressionHelper
    • NonRepeatableEnumerable<TType>
  • Dataport.AppFrameDotNet.DotNetTools.Collections.Extensions
    • Adding
    • Checking
    • Execution
    • ExpressionExtensions
    • Filtering
    • Indexing
    • Transformation
  • Dataport.AppFrameDotNet.DotNetTools.Collections.Model
    • PagedResult<TSource>
  • Dataport.AppFrameDotNet.DotNetTools.Comparison.Extensions
    • ComparisonExtensions
    • DictionaryExtensions
  • Dataport.AppFrameDotNet.DotNetTools.Comparison.Model
    • BoundaryType
    • IgnoreInPropertyComparisonAttribute
    • MemberComparisonResult
  • Dataport.AppFrameDotNet.DotNetTools.IO.Extensions
    • HttpStatusCodeExtensions
    • StreamExtensions
    • StringExtensions
  • Dataport.AppFrameDotNet.DotNetTools.Numeric.Extensions
    • Formatting
    • Percentage
    • Structure
  • Dataport.AppFrameDotNet.DotNetTools.Numeric.Model
    • PercentageType
  • Dataport.AppFrameDotNet.DotNetTools.Reflection
    • EnumHelper<TEnum>
  • Dataport.AppFrameDotNet.DotNetTools.Reflection.Extensions
    • AssemblyExtensions
    • EnumExtensions
    • InstanceExtensions
    • StringExtensions
    • TransformationExtensions
    • TypeExtensions
    • TypeManipulationExtensions
  • Dataport.AppFrameDotNet.DotNetTools.Text.Extensions
    • BooleanExtensions
    • StringExtensions
  • Dataport.AppFrameDotNet.DotNetTools.Time.Extensions
    • DateTimeExtensions
  • Dataport.AppFrameDotNet.DotNetTools.Time.Model
    • DateTimePart
  • Dataport.AppFrameDotNet.DotNetTools.Validation
    • ValidationResults
    • Verify
  • Dataport.AppFrameDotNet.DotNetTools.Validation.Extensions
    • ConditionExtensions
  • Dataport.AppFrameDotNet.DotNetTools.Validation.Models
    • Condition<T>
    • Severity

Class ExpressionHelper

Stellt Methoden zur Verfügung um System.Linq.Expressions.Expressions zu erzeugen.

Inheritance
System.Object
ExpressionHelper
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Dataport.AppFrameDotNet.DotNetTools.Collections
Assembly: Dataport.AppFrameDotNet.DotNetTools.dll
Syntax
public static class ExpressionHelper

Methods

ChangeInputType<TBefore, TAfter, TResult>(Expression<Func<TBefore, TResult>>)

Konkretisiert den Typen des Parameters der Expression.

Declaration
public static Expression<Func<TAfter, TResult>> ChangeInputType<TBefore, TAfter, TResult>(Expression<Func<TBefore, TResult>> context)
    where TAfter : TBefore
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TBefore, TResult>> context

Expression, deren Parametertyp konkretisiert werden soll.

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<TAfter, TResult>>

Expression, die identisch zur ursprünglichen Expression ist, aber einen konkreteren Parametertypen definiert.

Type Parameters
Name Description
TBefore

Typ des Parameters in der ursprünglichen Expression.

TAfter

Konkreterer Typ für den Parameter der resultierenden Expression.

TResult

Typ des Rückgabewerts der Expression.

Remarks

Zur Verwendung von allgemein definierten Expressions für konkretere Typen, da die Kovarianz nicht automatisch aufgelöst werden kann.

CreateEqualExpression<TInstance, TElement>(Expression<Func<TInstance, TElement>>, TElement)

Erzeugt eine Expression für einen Gleichheitsausdruck. Verhalten: Gleichheit funktioniert mit implementierten Operator oder Referenzgleichheit, nicht mit IComparable.

Declaration
public static Expression<Func<TInstance, bool>> CreateEqualExpression<TInstance, TElement>(Expression<Func<TInstance, TElement>> target, TElement filter)
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TInstance, TElement>> target

Eine Expression, welche einen Wert TElement aus der Instanz erzeugt.

TElement filter

Der Wert mit dem verglichen werden soll.

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<TInstance, System.Boolean>>

Die Gleichheits-Expression.

Type Parameters
Name Description
TInstance

Der Typ der Instanz

TElement

Der Typ des Elements

CreateLikeExpression<TElement>(Expression<Func<TElement, String>>, String, Char)

Erzeugt eine Expression für String-Like-Suchanfragen. Verhalten: Wildcards dürfen nur am Anfang und Ende des Filters stehen. Die Elemente der später verwendeten Collection dürfen nicht null sein.

Declaration
public static Expression<Func<TElement, bool>> CreateLikeExpression<TElement>(Expression<Func<TElement, string>> valueSelector, string filter, char wildcard = '*')
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TElement, System.String>> valueSelector

Selektionslogik für das Element des Objekts

System.String filter

Der Filterausdruck

System.Char wildcard

Die Wildcard im Filterausdruck.

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<TElement, System.Boolean>>

Die Suchexpression.

Type Parameters
Name Description
TElement

Der Typ des Elements

ExtractMemberAttribute<TInstance, TAttribute>(Expression<Func<TInstance, Object>>)

Gibt das Attribut eines Members zurück, welcher in der Anweisung vorkommt. Verhalten: Funktioniert auch für Cast-Ausdrücke und Vergleichsausdrücke. Kommen mehrere Properties in dem Ausdruck vor, wird das Erste genommen.

Declaration
public static TAttribute ExtractMemberAttribute<TInstance, TAttribute>(Expression<Func<TInstance, object>> expression)
    where TInstance : class where TAttribute : Attribute
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TInstance, System.Object>> expression

Anweisungsvorschrift, wie das Property zu laden ist.

Returns
Type Description
TAttribute

Das Attribut des Properties

Type Parameters
Name Description
TInstance

Typ der Instanz

TAttribute

Typ des Attributs

ExtractMemberAttribute<TInstance, TValue, TAttribute>(Expression<Func<TInstance, TValue>>)

Gibt das Attribut eines Members zurück, welcher in der Anweisung vorkommt. Verhalten: Funktioniert auch für Cast-Ausdrücke und Vergleichsausdrücke. Kommen mehrere Properties in dem Ausdruck vor, wird das Erste genommen.

Declaration
public static TAttribute ExtractMemberAttribute<TInstance, TValue, TAttribute>(Expression<Func<TInstance, TValue>> expression)
    where TInstance : class where TAttribute : Attribute
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TInstance, TValue>> expression

Anweisungsvorschrift, wie das Property zu laden ist.

Returns
Type Description
TAttribute

Das Attribut des Properties

Type Parameters
Name Description
TInstance

Typ der Instanz

TValue

Typ des Wertes

TAttribute

Typ des Attributs

ExtractMemberName<TInstance>(Expression<Func<TInstance, Object>>)

Gibt den Namen eines Members zurück, welcher in der Anweisung vorkommt. Verhalten: Funktioniert auch für Cast-Ausdrücke und Vergleichsausdrücke. Kommen mehrere Properties in dem Ausdruck vor, wird der Name des Ersten genommen.

Declaration
public static string ExtractMemberName<TInstance>(Expression<Func<TInstance, object>> expression)
    where TInstance : class
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TInstance, System.Object>> expression

Anweisungsvorschrift, wie das Property zu laden ist.

Returns
Type Description
System.String

Der Name des Properties

Type Parameters
Name Description
TInstance

Typ der Instanz

ExtractMemberName<TInstance, TValue>(Expression<Func<TInstance, TValue>>)

Gibt den Namen eines Members zurück, welcher in der Anweisung vorkommt. Verhalten: Funktioniert auch für Cast-Ausdrücke und Vergleichsausdrücke. Kommen mehrere Properties in dem Ausdruck vor, wird der Name des Ersten genommen.

Declaration
public static string ExtractMemberName<TInstance, TValue>(Expression<Func<TInstance, TValue>> expression)
    where TInstance : class
Parameters
Type Name Description
System.Linq.Expressions.Expression<System.Func<TInstance, TValue>> expression

Anweisungsvorschrift, wie das Property zu laden ist.

Returns
Type Description
System.String

Der Name des Properties

Type Parameters
Name Description
TInstance

Typ der Instanz

TValue

Typ des Wertes

SelectPropertyByName<TInstance, TOut>(String)

Erzeugt eine Expression, die die Property mit dem angegebenen Namen selektiert.

Declaration
public static Expression<Func<TInstance, TOut>> SelectPropertyByName<TInstance, TOut>(string propertyName)
    where TInstance : class
Parameters
Type Name Description
System.String propertyName

Name der Property, die durch die Expression selektiert werden soll

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<TInstance, TOut>>

Eine Expression, die die Property selektiert

Type Parameters
Name Description
TInstance

Typ der Entität, deren Property selektiert werden soll.

TOut

Typ der Property, die selektiert werden soll.

SelectPropertyByName<TInstance, TOut>(String, ParameterExpression)

Erzeugt eine Expression, die die Property mit dem angegebenen Namen selektiert mit Angabe der zu verwendenden ParameterExpression für den Property-Zugriff.

Declaration
public static Expression<Func<TInstance, TOut>> SelectPropertyByName<TInstance, TOut>(string propertyName, ParameterExpression parameter)
    where TInstance : class
Parameters
Type Name Description
System.String propertyName

Name der Property, die durch die Expression selektiert werden soll

System.Linq.Expressions.ParameterExpression parameter

ParameterExpression, über die auf die Property zugegriffen werden soll.

Returns
Type Description
System.Linq.Expressions.Expression<System.Func<TInstance, TOut>>

Eine Expression, die die Property selektiert

Type Parameters
Name Description
TInstance

Typ der Entität, deren Property selektiert werden soll.

TOut

Typ der Property, die selektiert werden soll.

Exceptions
Type Condition
System.ArgumentNullException

Wird geworfen, wenn parameter null ist.

System.InvalidOperationException

Wird geworfen, wenn der Typ von parameter von TInstance abweicht.

SelectPropertyByNameX<TInstance>(String)

Erzeugt eine Expression, die die Property mit dem angegebenen Namen selektiert.

Declaration
public static LambdaExpression SelectPropertyByNameX<TInstance>(string propertyName)
    where TInstance : class
Parameters
Type Name Description
System.String propertyName

Name der Property, die durch die Expression selektiert werden soll

Returns
Type Description
System.Linq.Expressions.LambdaExpression

Eine Expression, die die Property selektiert

Type Parameters
Name Description
TInstance

Typ der Entität, deren Property selektiert werden soll.

SelectPropertyByNameX<TInstance>(String, ParameterExpression)

Erzeugt eine Expression, die die Property mit dem angegebenen Namen selektiert mit Angabe der zu verwendenden ParameterExpression für den Property-Zugriff.

Declaration
public static LambdaExpression SelectPropertyByNameX<TInstance>(string propertyName, ParameterExpression parameter)
    where TInstance : class
Parameters
Type Name Description
System.String propertyName

Name der Property, die durch die Expression selektiert werden soll

System.Linq.Expressions.ParameterExpression parameter

ParameterExpression, über die auf die Property zugegriffen werden soll.

Returns
Type Description
System.Linq.Expressions.LambdaExpression

Eine Expression, die die Property selektiert

Type Parameters
Name Description
TInstance

Typ der Entität, deren Property selektiert werden soll.

In This Article
Back to top © 2020 Dataport AöR