ValueTypePropertyReference<TOperand, TResult> Class
Represents a property 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::ValueTypePropertyReference<TOperand, TResult>
| Name | Description | |
|---|---|---|
![]() | ValueTypePropertyReference<TOperand, TResult>() | Initializes a new instance of the ValueTypePropertyReference<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.) |
![]() | 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 property. |
![]() | PropertyName | Gets or sets the name of the property. |
![]() | 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 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";.
Note |
|---|
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);
}
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.



