ValueTypePropertyReference<TOperand, TResult> Class

.NET Framework (current version)
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Represents a property on a value type that can be used as an l-value in an expression.

Namespace:   System.Activities.Expressions
Assembly:  System.Activities (in System.Activities.dll)

System.Object
  System.Activities.Activity
    System.Activities.ActivityWithResult
      System.Activities.Activity<TResult>
        System.Activities.CodeActivity<TResult>
          System.Activities.Expressions.ValueTypePropertyReference<TOperand, TResult>

public sealed class ValueTypePropertyReference<TOperand, TResult> : CodeActivity<Location<TResult>>

Type Parameters

TOperand

The value type.

TResult

The property type.

NameDescription
System_CAPS_pubmethodValueTypePropertyReference<TOperand, TResult>()

Initializes a new instance of the ValueTypePropertyReference<TOperand, TResult> class.

NameDescription
System_CAPS_protpropertyCacheId

Gets the identifier of the cache that is unique within the scope of the workflow definition.(Inherited from Activity.)

System_CAPS_pubpropertyDisplayName

Gets or sets an optional friendly name that is used for debugging, validation, exception handling, and tracking.(Inherited from Activity.)

System_CAPS_pubpropertyId

Gets an identifier that is unique in the scope of the workflow definition.(Inherited from Activity.)

System_CAPS_protpropertyImplementationVersion

Gets or sets the implementation version of the activity.(Inherited from CodeActivity<TResult>.)

System_CAPS_pubpropertyOperandLocation

Gets or sets the instance of the value type that contains the property.

System_CAPS_pubpropertyPropertyName

Gets or sets the name of the property.

System_CAPS_pubpropertyResult

Gets or sets the result argument for the Activity<TResult>.(Inherited from Activity<TResult>.)

System_CAPS_pubpropertyResultType

When implemented in a derived class, gets the type of an activity OutArgument.(Inherited from ActivityWithResult.)

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodShouldSerializeDisplayName()

Indicates whether the DisplayName property should be serialized.(Inherited from Activity.)

System_CAPS_pubmethodToString()

Returns a String that contains the Id and DisplayName of the Activity.(Inherited from Activity.)

The following code example uses ValueTypePropertyReference<TOperand, TResult> in an Assign activity to assign a string value to a property and prints the property value to the console. The Assign activity is equivalent to the following statement when using the struct defined in the following example: myStructVariable.AProperty = "Hello";.

System_CAPS_noteNote

Instead of instantiating the ValueTypePropertyReference<TOperand, TResult> l-value expression activity directly, it is strongly recommended that you call ConvertReference<TResult>, which provides a higher level of abstraction and enables you to implement your workflow more intuitively.


// Define a struct with a property named AProperty.
struct StructWithProperty
{
    public string AProperty { get; set; }
}

public static void ValueTypePropertyReferenceSample()
{
    // Create a variable of type StructWithProperty to store the property.
    var swpvar = new Variable<StructWithProperty>("swpvar", new StructWithProperty());

    // Create the top-level activity to be invoked later.
    Activity myActivity = new Sequence
    {
        Variables = { swpvar },
        Activities = 
        {                    
            // Create an Assign activity for a property named AProperty.
            new Assign<string>
            {
                To = new ValueTypePropertyReference<StructWithProperty, string>
                {
                    OperandLocation = swpvar,
                    PropertyName = "AProperty",
                },
                // Assign a string literal to AProperty.
                Value = "Hello",
            },
            // Create a WriteLine activity to write the value of AProperty to the console.
            new WriteLine()
            {
                Text = ExpressionServices.Convert<string>(ctx => swpvar.Get(ctx).AProperty),
            }
        }
    };

    // Invoke the Sequence activity.
    WorkflowInvoker.Invoke(myActivity);
}

.NET Framework
Available since 4.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: