我有一个名为" BaseActivity"的基类。源自NativeActivity。我希望在基类中拥有所有常见行为,并在衍生类中使用它们。让我们说我在基类中有共同的输入/输出参数。我的派生类有自己的输入/输出参数。我的问题是,如何将我的dervied类中的out参数传递给基类,以便基类out参数将消息传递回客户端?
BASEACTIVITY CLASS
public class BaseActivity:NativeActivity { #region" Public Argument List" //定义string类型的活动输入/输出参数 public InArgument FirstArgument {get;组; } public InArgument SecondArgument {get;组; } public OutArgument Result {get;组; }
public virtual NativeActivityContext PushContext(NativeActivityContext context,Dictionary DictBase) { 回归背景; }
protected override void CacheMetadata(NativeActivityMetadata metadata) { base.CacheMetadata(元数据);
}
protected override void Execute(NativeActivityContext context) {
// Read context variables to local string variables.
string firstVal= context.GetValue(this.FirstArgument);
string secondVal= context.GetValue(this.SecondArgument);
string OutputResult = context.GetValue(this.Result);
Dictionary<string, object> contextdictionary = new Dictionary<string, object>();
contextdictionary.Add("first", firstVal);
contextdictionary.Add("second", secondVal);
contextdictionary.Add("output", OutputResult);
NativeActivityContext finalContext = PushContext(context, contextdictionary);
}
}
派生类
public class Child:BaseActivity { public InArgument XsltPath {get;组; } public OutArgument OutValue {get;组; }
public override NativeActivityContext PushContext(NativeActivityContext context,Dictionary DictBase) { //一些String操作然后传递它。 OutValue.Set(context,outputStringBuilder.ToString());
}
return context;
}
}
问题是我如何将OutValue传递给基本活动输出参数。子活动中的值是正确的,但是当我调用工作时,它返回一个空字符串。 PL。帮我。在此先感谢。
答案 0 :(得分:0)
您是否尝试将派生的参数转发给基类?
public InArgument<string> XsltPath
{
get { return base.FirstArgument; }
set { base.FirstArgument = value; }
}
public OutArgument<string> OutValue
{
get { return base.SecondArgument; }
set { base.SecondArgument = value; }
}