Skip to content

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

Attributes: [RequiresUnreferencedCode("Evaluates expression-based member chains via reflection; members may be trimmed.")]

public static bool TryGetValueForPropertyChain<TValue>(out TValue changeValue, object? current, IEnumerable<Expression> expressionChain)

View source

Summary: Based on a list of expressions, attempts to get the value of the last property in the chain.

Type parameters

NameDescription
TValueThe expected type of the final value.

Parameters

NameTypeDescription
out changeValueTValueReceives the value if the chain can be evaluated.
currentobject?The object that starts the property chain.
expressionChainIEnumerableA sequence of expressions that point to properties/fields.

Returns: bool -- true if the value was successfully retrieved; otherwise false.

Remarks

        Trimming note: this method may traverse arbitrary member chains represented by expressions; it is not possible
        to express a complete trimming contract locally.
        

Exceptions

TypeCondition
System.InvalidOperationExceptionThrown when expressionChain is empty.
System.ArgumentNullExceptionThrown when expressionChain is null.