Có thể sử dụng tệp tiêu đề gốc trực tiếp là một lợi thế rất lớn, nhưng không phải là lợi thế duy nhất.
Ngữ nghĩa ngăn xếp tốt hơn rất nhiều so với bất kỳ điều gì mà C# cung cấp để quản lý IDisposable
. C++/CLI có một cú pháp thống nhất để quản lý chính xác các biến là IDisposable
và những cú pháp không phải là cả hai biến cục bộ và là các trường thành viên. So sánh:
ref class MyClass
{
FileStream fs;
}
vs
class MyClass : IDisposable
{
FileStream fs;
void IDisposable.Dispose() { Dispose(true); }
~MyClass() { Dispose(false); }
public virtual void Dispose(bool disposing) { if (disposing) fs.Dispose(); }
}
Bây giờ mà ngôn ngữ được tìm kiếm xấu xí?
Sau đó, có các mẫu, interior_ptr
, #define
, xuất bản DLL gốc, con trỏ thành thành viên và có thể một số thứ khác mà tôi đã quên.
Nguồn
2010-07-17 17:22:34
Tôi có thể thêm để hỗ trợ điều này. Trong một dự án trước, tôi đã phải viết một giao diện giữa một ứng dụng dịch vụ web asmx C# và phần mềm trung gian của IBM mà chỉ có một thư viện api C++ (không phải là một dll mà là một lib tĩnh). C++/CLI là lựa chọn duy nhất để tạo ra cây cầu này. – softveda
Việc triển khai D .Net đang hoạt động. Có thể là, trong tương lai gần, D có thể tương thích với .Net. – dsimcha
@dsimcha - điều đó sẽ rất tuyệt vời – philsquared