我有一個工作流,其根活動是一個帶有名爲XmlData的公有InArgument的自定義NativeActivity。當我嘗試和分配活動,我得到的條件中使用XMLDATA以下錯誤使用此參數在孩子:條件錯誤:未聲明屬性。由於其保護級別,可能無法訪問
'XmlData' is not declared. It may be inaccessible due to its protection level
我的屬性是這樣的:
public Activity Body {get;set;}
public InArgument<CustomObj> XmlData {get;set;}
,這是CacheMetadata方法:
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
var runtime = new RuntimeArgument("XmlData",typeof(CustomObj),ArgumentDirection.In,true);
metadata.Bind(this.XmlData,runtime);
metadata.AddArgument(runtime);
metadata.AddChild(Body);
}
我使用metadata.AddArgument方法將內CacheMetadata的說法,我嘗試了它同時使用的addChild的添加子屬性d AddImplementationChild。
如果我用ActivityBuilder替換自定義活動並使用代碼創建DynamicActivityProperty,那麼可以成功編譯該條件,所以當我使用自己的代碼時看不到我缺少的內容。
分享一些代碼會有幫助。 – Maurice 2010-05-26 10:26:10
對不起,不加入他們開始。他們現在被添加。 – Stoive 2010-05-26 10:57:13
如果註釋掉CacheMetadata函數會發生什麼?默認的實現應該足夠好。 CustomObj也是一個公共類型?錯誤提示是內部的。 – Maurice 2010-05-26 11:17:16