본문 바로가기
Programming

메서드 모호성 해결

by 강철 벼룩 2012. 1. 31.
 
☜ 환경: VS 2010+.NET 4+MS Office Interop 환경

오피스의 워드 문서를 다루는 프로그래밍을 하다보면 특정 메서드에 대한 모호성 경고가 뜨는 경우가 있다.
다음의 VS2010의 일부 화면에 빨간색 사각형 박스에 들어 있는 부분을 코딩 해서 명시적인 캐스팅을 하지 않는다면, 이 Close() 메서드에 대한 모호성 경고가 발생하게 된다. 


 ap.Documents.Close( SaveChanges: false, OriginalFormat: false, RouteDocument: false );
}
catch ( Exception ex )
{
  Console.WriteLine( "Exception Caught: " + ex.Message );
}
finally
{
   // 메서드 'Microsoft.Office.Interop.Word._Application.Quit(ref object, ref object, ref object)'와 메서드가 아닌 'Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit' 사이의 모호성. 메서드 그룹을 사용한다.
   // ap.Quit( SaveChanges: false, OriginalFormat: false, RouteDocument: false );
( (_Application)ap ).Quit( SaveChanges: false, OriginalFormat: false, RouteDocument: false );
System.Runtime.InteropServices.Marshal.ReleaseComObject( ap );
}