Why is it possible to create a new instance of a COM interface?
问题 I don't have very much background regarding COM nor coclasses, so I don't quite understand why I can use the new operator with an interface. From a language/framework-agnostic view, it's confusing why this compiles and runs correctly: using Microsoft.Office.Interop.Excel; public class ExcelProgram { static void Main(string[] args) { Application excel = new Application(); } } Inspecting Application in Visual Studio 2010 shows me: using System.Runtime.InteropServices; namespace Microsoft.Office