使用'Microsoft.Office.Interop.Word._Document.Close'时警告CS0467

时间:2012-05-07 10:01:27

标签: c# compiler-warnings

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

  

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

(部分..)解决方案: Compile time warning when using 'Microsoft.Office.Interop.Word._Document.Close'

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

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

2 个答案:

答案 0 :(得分:8)

只是不要施放,C#不需要它:

Word._Application app = new Word.Application();
Word._Document doc = app.Documents.Add(...);
doc.Close(...);    // No ambiguity
app.Quit(...);

答案 1 :(得分:3)

好吧,如果你需要施法以避免错误......施展!

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

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

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

所以你可以试试

_Document w = new Document();

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