ValueTypeFieldReference<TOperand, TResult> Class
Represents a field on a value type that can be used as an l-value in an expression.
Assembly: System.Activities (in System.Activities.dll)
System.Activities::Activity
System.Activities::ActivityWithResult
System.Activities::Activity<TResult>
System.Activities::CodeActivity<TResult>
System.Activities.Expressions::ValueTypeFieldReference<TOperand, TResult>
| Name | Description | |
|---|---|---|
![]() | ValueTypeFieldReference<TOperand, TResult>() | Initializes a new instance of the ValueTypeFieldReference<TOperand, TResult> class. |
| Name | Description | |
|---|---|---|
![]() | CacheId | Gets the identifier of the cache that is unique within the scope of the workflow definition.(Inherited from Activity.) |
![]() | DisplayName | Gets or sets an optional friendly name that is used for debugging, validation, exception handling, and tracking.(Inherited from Activity.) |
![]() | FieldName | Gets or sets the name of the field. |
![]() | Id | Gets an identifier that is unique in the scope of the workflow definition.(Inherited from Activity.) |
![]() | ImplementationVersion | Gets or sets the implementation version of the activity.(Inherited from CodeActivity<TResult>.) |
![]() | OperandLocation | Gets or sets the instance of the value type that contains the field. |
![]() | Result | Gets or sets the result argument for the Activity<TResult>.(Inherited from Activity<TResult>.) |
![]() | ResultType | When implemented in a derived class, gets the type of an activity OutArgument.(Inherited from ActivityWithResult.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ShouldSerializeDisplayName() | Indicates whether the DisplayName property should be serialized.(Inherited from Activity.) |
![]() | ToString() | 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;.
Note |
|---|
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);
}
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.



