Tôi không có nhiều thông tin cơ bản về COM cũng như kén, vì vậy tôi không hiểu tại sao tôi có thể sử dụng toán tử new
với giao diện. Từ một ngôn ngữ/xem khung-agnostic, nó khó hiểu tại sao điều này biên dịch và chạy một cách chính xác:Tại sao có thể tạo một thể hiện mới của giao diện COM?
using Microsoft.Office.Interop.Excel;
public class ExcelProgram
{
static void Main(string[] args)
{
Application excel = new Application();
}
}
Kiểm tra Application
trong Visual Studio 2010 cho thấy tôi:
using System.Runtime.InteropServices;
namespace Microsoft.Office.Interop.Excel
{
// Summary:
// Represents the entire Microsoft Excel application.
[Guid("000208D5-0000-0000-C000-000000000046")]
[CoClass(typeof(ApplicationClass))]
public interface Application : _Application, AppEvents_Event
{
}
}
gì đang xảy ra đằng sau hậu trường?
Cảm ơn. Liên kết đó có liên kết đến liên kết đến http://stackoverflow.com/questions/1093536/how-does-the-c-compiler-detect-com-types. Đoán tôi đã tìm kiếm từ khóa sai - có vẻ như câu hỏi của tôi về bản chất là một bản sao. – ide