Tôi có một chương trình C và tôi đã tạo một tệp DLL. Tôi đang sử dụng Windows Vista và Visual C++.Truy cập một phương thức từ một DLL từ chương trình C#
Bây giờ tôi cần truy cập một phương thức từ DLL đó, từ phương thức Main() của mã C#. Các bước làm như thế là gì?
Cho đến giờ tôi đã thêm tệp DLL làm tham chiếu, sau đó tôi nên làm gì?
này chỉ là một ví dụ:
int main1(void) {
prinf("Hello World");
}
Xin lưu ý rằng lớp này cũng làm cho chúng ta về chức năng lib khác, nhưng tôi đã có thể tạo ra thành công một DLL ra khỏi nó. (Tôi không biết nếu điều này có liên quan)
Bây giờ tôi cần truy cập phương thức này từ C# Main();
[STAThread]
static void Main()
{
// I need to call that main1() method here
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Không thể thêm tham chiếu đến tệp DLL gốc C. Rõ ràng bạn không sử dụng một dll C thực, có thể là một C++/CLI. Không có gì đặc biệt là cần thiết trong trường hợp đó, các khai báo "lớp ref" bạn tạo ra công khai có sẵn trực tiếp trong một chương trình C#. –
Vâng, đó là một dự án C++/CLI. Dựa trên câu trả lời của bạn có vẻ như nó có thể được thực hiện trực tiếp, bằng cách nói 'lớp ref' bạn có nghĩa là lớp C của tôi? và làm cách nào để công khai? Các bước tôi đã làm cho đến nay, thêm dll Làm tham chiếu và thêm câu lệnh sau 'using detect.h' và cố gắng truy cập nó từ phương thức C#, Main() như; 'detect.the_method_i_need()', nhưng nó không hoạt động như thế. HELP – illep