2

问题(C# 编译器警告消息):

警告 CS0467:方法 'Microsoft.Office.Interop.Word._Document.close(ref object, ref object, ref object)' 和非方法 'Microsoft.Office.Interop.Word.DocumentEvents2_Event.Close' 之间存在歧义。使用方法组。

(部分..)解决方案: 使用“Microsoft.Office.Interop.Word._Document.Close”时的编译时警告

困境:如果我明确地转换为Microsoft.Office.Interop.Word._Document,ReSharper 会警告我“类型转换是多余的”

问题:这个警告信息是否有真正的解决方案,而不仅仅是拼凑?

4

2 回答 2

8

只是不要强制转换,C# 不需要它:

Word._Application app = new Word.Application();
Word._Document doc = app.Documents.Add(...);
doc.Close(...);    // No ambiguity
app.Quit(...);
于 2012-05-08T08:42:39.917 回答
3

好吧,如果你需要铸造以避免错误......铸造!

Resharper 有(好的)通用规则,但有时它们无法应用。

在这种特定情况下,您可以“隐藏”resharper 警告消息(“使用评论抑制检查 xxx”),或者......与(如果可以/被允许)一起使用。

编辑:好的,收到 lib 版本 12.0.0.0 的警告

所以你可以试试

_Document w = new Document();

你应该避免 c# 和 resharper 警告。

于 2012-05-07T10:08:26.273 回答