ArcGIS AddIN开发异常之--修饰符“static”对该项无效
修飾符“static”對該項無效,
修飾符“internal”對該項無效.
該異常彈出的位置為Config.Designer.CS文件中相關插件的聲明附近
internal static string Water_Info_Toolbar.AttributeBrushTool.AttributeBrushTool{
get { return "llc3s@foxmail.com_Water_Info_Toolbar_AttributeBrushTool"; }
}
?
類似的語句中,存在多處的這種修飾符無效的異常。這個文件為通過向導式新建插件時自動生成的,沒有修改過。之前一直調試通過的,最近由于新建了一個工具,不知道出了什么問題,出現這個異常。
該異常不是所有的類似的語句都出現,部分比較短名稱的語句就無此異常。如
internal static string SplitByAttribute {get {return "llc3s@foxmail.com_Water_Info_Toolbar_SplitByAttribute";}}說明:由于工具分多次寫的,之后做了一個工具條將所有的插件、代碼放在了一個解決方案中,解決方案中包含一個AddIN的項目,一個輔助類的項目。如圖:
簡單的功能就直接在項目中建立,如ChangePolygon2Word.cs插件(該類較復雜,大部分內容在WaterInfoAssiter項目中做了封裝,此處只調用即可),其他較復雜涉及較多內容的,則新建了一個文件夾,將相關的代碼、窗體等放在一個統一的文件夾中。
經過對比發現,此處出現異常的,全部是放入文件夾中的插件,這些插件之前都有正常的運行過,原因未知。
解決方法:改名。
(1)將Config.Designer.CS文件中較長的名稱改為短的,如AttributeBrushTool,
之前的名稱Water_Info_Toolbar.AttributeBrushTool.AttributeBrushTool,
Water_Info_Toolbar為項目名稱, AttributeBrushTool為文件夾名稱。以上較長的名稱為VS根據插件存放的位置生成,新建插件名稱時,只在向導中輸入了AttributeBrushTool(2)修改具體Config.esriaddinx 文件中關于插件的配置,將class改為短名稱,Water_Info_Toolbar.AttributeBrushTool.AttributeBrushTool改為AttributeBrushTool,此處應該是指向具體實現后臺邏輯的類
<Tool id="llc3s@foxmail.com_Water_Info_Toolbar_AttributeBrushTool" class="AttributeBrushTool" message="" caption="屬性刷" tip="屬性刷.Ctrl+左鍵,選擇用以刷屬性的源,選擇之后可以在右側的表中修改值.之后,點擊希望刷屬性的要素" category="Water_Info_Controls_llc" image="Images\AttributeBrushTool.png" cursor="Images\AttributeBrushTool.cur" />(3)修改AttributeBrushTool.cs文件中Water_Info_Toolbar.AttributeBrushTool的命名空間,只保留Water_Info_Toolbar。保存即可
按照上述內容修改,異常可消除。
插件中包含一些窗體與panel時,也按照上述步驟修改。只不過需要多修改panel.designer.cs中相關的代碼。
?
以上做法可以解決異常,原因未知,有知道的高手麻煩告知一下
?
轉載于:https://www.cnblogs.com/DayDreamEveryWhere/p/4575314.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的ArcGIS AddIN开发异常之--修饰符“static”对该项无效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员保值的5个秘密
- 下一篇: 一位大学教授学习数学的体会