我有幾個已導入到.Net4類庫的WCF服務。創建代理時,將聲明爲DataContracts的多個枚舉器導入到代理中。後來我通過COM Interop公開了幾個用作ActiveX庫的過程,並且使用導入的枚舉器作爲這些過程的參數。
在我的類庫的程序中,我可以用[ComVisible(true)]
公開,以便它們可以通過COM調用。然而,有枚舉作爲參數,當我regasm.exe註冊的方法,我得到的錯誤:使從WCF導入的枚舉在COM Interop中可見
Type library exporter warning processing 'xxxxxx.Method(pEnumerator),yyyyyy'. Warning: Non COM visible value type 'yyyyyy.zzzzzzz.enEnumerator' is being referenced either from the type currently being exported or from one of its base types.
我知道這是因爲普查員不與標記有ComVisible特性暴露,但如果我把必要的參數,因爲它們在代理中,所以無論何時我刷新代理,它們都將被覆蓋。有沒有辦法解決?
我可以在類庫中創建自己的枚舉器,使用ComVisible公開它們,並執行switch
以將導入的枚舉器與我創建的枚舉器相匹配。但我想避免這種情況。
Tks幫助