ValueTypeFieldReference<TOperand,TResult> 类

定义

表示值类型上的一个字段,该字段可用作表达式中的左值。

generic <typename TOperand, typename TResult>
public ref class ValueTypeFieldReference sealed : System::Activities::CodeActivity<System::Activities::Location<TResult> ^>
public sealed class ValueTypeFieldReference<TOperand,TResult> : System.Activities.CodeActivity<System.Activities.Location<TResult>>
type ValueTypeFieldReference<'Operand, 'Result> = class
    inherit CodeActivity<Location<'Result>>
Public NotInheritable Class ValueTypeFieldReference(Of TOperand, TResult)
Inherits CodeActivity(Of Location(Of TResult))

类型参数

TOperand

值类型。

TResult

字段类型。

继承
ValueTypeFieldReference<TOperand,TResult>

示例

下面的代码示例在 ValueTypeFieldReference<TOperand,TResult> 活动中使用 Assign 将一个整数值分配给字段并将字段值打印到控制台。 Assign 活动相当于使用以下示例中定义的 struct 时的如下语句。 myStructVariable.AField = 1;.

注意

强烈建议您调用提供更高抽象级别并使您能够更直观地实现工作流的 ValueTypeFieldReference<TOperand,TResult>,而不是直接实例化 ConvertReference 左值表达式活动。

// 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);  
}  

构造函数

ValueTypeFieldReference<TOperand,TResult>()

初始化 ValueTypeFieldReference<TOperand,TResult> 类的新实例。

属性

CacheId

获取缓存的标识符,该标识符在工作流定义的作用域内是唯一的。

(继承自 Activity)
Constraints

获取可配置的 Constraint 活动的集合,用于为 Activity 提供验证。

(继承自 Activity)
DisplayName

获取或设置用于调试、验证、异常处理和跟踪的可选友好名称。

(继承自 Activity)
FieldName

获取或设置字段的名称。

Id

获取一个标识符,该标识符在工作流定义的作用域内是唯一的。

(继承自 Activity)
Implementation

不支持。

(继承自 CodeActivity<TResult>)
ImplementationVersion

获取或设置活动的实现版本。

(继承自 CodeActivity<TResult>)
OperandLocation

获取或设置包含字段的值类型的实例。

Result

获取或设置 Activity<TResult> 的结果参数。

(继承自 Activity<TResult>)
ResultType

在派生类中实现时,获取 OutArgument 活动的类型。

(继承自 ActivityWithResult)

方法

CacheMetadata(ActivityMetadata)

未实现。 请改用 CacheMetadata(CodeActivityMetadata)

(继承自 CodeActivity<TResult>)
CacheMetadata(CodeActivityMetadata)

创建并验证活动的自变量、变量、子活动和活动委托的说明。

(继承自 CodeActivity<TResult>)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Execute(CodeActivityContext)

在派生类中实现时,执行该活动。

(继承自 CodeActivity<TResult>)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

为动态更新创建映射时,将引发事件。

(继承自 CodeActivity<TResult>)
ShouldSerializeDisplayName()

指示是否应序列化 DisplayName 属性。

(继承自 Activity)
ToString()

返回包含 StringIdDisplayNameActivity

(继承自 Activity)

适用于