2009-07-17 29 views
5

Trong chương tám (p189) của "CLR Qua C#", Jeffrey Richter nói rằng:Interface Loại Constructor

"Một constructor Loại có thể được áp dụng cho các giao diện (mặc dù C# không cho phép điều này)"

Tôi đã thực hiện một ít nghiên cứu và dường như tôi không thể tìm thấy lý do tại sao một giao diện sẽ cần một trình tạo kiểu, bằng bất kỳ ngôn ngữ nào. Điều này có vẻ như một cái gì đó mà bạn rõ ràng sẽ không cho phép trong CLR.

Khi nào điều này sẽ cần thiết và tại sao điều đó lại có thể xảy ra?

+0

Tôi không chắc chắn câu trả lời là gì nhưng tôi đã tìm thấy một bài viết khác dọc theo cùng một dòng có thể quan tâm: http://stackoverflow.com/questions/619856/interface-defining-a-constructor-signature – Malcolm

Trả lời

3

Bạn có thể quan tâm đến reading this question và một số câu trả lời của nó trên SO.

Về cơ bản nó trình bày cách trình biên dịch C# khởi tạo các đối tượng COM dựa trên giao diện. Nó không nhất thiết phải là tình huống tương tự mà Richter thảo luận, nhưng nó là một trường hợp thú vị của các giao diện instantiating.

0

Hãy nghĩ về điều đó trong các tình huống mà bạn muốn coi giao diện là lớp trừu tượng. Mặc dù C# không hỗ trợ điều đó.