ValueTypeFieldReference<TOperand, TResult> Class

.NET Framework (current version)
 

Represents a field 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.ValueTypeFieldReference<TOperand, TResult>

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

Type Parameters

TOperand

The value type.

TResult

The field type.

NameDescription
System_CAPS_pubmethodValueTypeFieldReference<TOperand, TResult>()

Initializes a new instance of the ValueTypeFieldReference<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_pubpropertyFieldName

Gets or sets the name of the field.

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 field.

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 ValueTypeFieldReference<TOperand, TResult> in an Assign activity to assign an integer value to a field and prints the field value to the console. The Assign activity is equivalent to the following statement when using the struct defined in the following example. myStructVariable.AField = 1;.

System_CAPS_noteNote

Instead of instantiating the ValueTypeFieldReference<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 field named AField.
struct StructWithField
{
    public int AField;
}

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

    Activity myActivity = new Sequence
    {
        Variables = { swfvar },
        Activities = 
        {                    
            // Create an Assign activity to assign a value to the AField field.
            new Assign<int>
            {
                To = new ValueTypeFieldReference<StructWithField, int>()
                {
                    OperandLocation = swfvar,
                    FieldName = "AField",
                },
                // Assign an integer value to AField.
                Value = 1,
            },
            // Print the new field value to the console.
            new WriteLine()
            {
                Text = ExpressionServices.Convert<string>(ctx => swfvar.Get(ctx).AField.ToString()),
            }
        }
    };

    // 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: