2008-10-15 30 views
8

Tôi đang cố gắng sử dụng một lớp học từ một hội đồng C# trong vb.net. Lớp học có những thành viên mơ hồ vì vb.net không phân biệt chữ hoa chữ thường. Lớp là một cái gì đó như thế này:Thành viên lớp học mơ hồ trong vb.net

 
public class Foo { 

    public enum FORMAT {ONE, TWO, THREE}; 

    public FORMAT Format { 
    get {...} 
    set {...} 
    } 
} 

tôi cố gắng truy cập vào các enum: Foo.FORMAT.ONE

này là không thể vì đó cũng là một tài sản có tên là 'định dạng'.

Tôi không thể thay đổi cụm C#. Làm thế nào tôi có thể nhận được xung quanh này và tham khảo enum từ vb.net?

Trả lời

7

Tôi không nghĩ rằng bạn có thể giải quyết vấn đề này. Hãy liên lạc với tác giả của thành phần C# mà bạn đang cố gắng sử dụng và thuyết phục họ sửa mã của họ.

Ngẫu nhiên, đây là lý do chính đằng sau thuộc tính CLSCompliant(true), nếu bạn đang viết API hoặc mã khác có xác suất cao được sử dụng bởi các ngôn ngữ khác, bạn nên luôn đặt. Nó có thể đã gắn cờ vấn đề này để tác giả gốc biết và sửa lỗi chính xác.

4

Có một vài cách bạn có thể làm việc xung quanh nó, nhưng không ai thực sự là một lựa chọn tốt.

Một là tạo một dự án C# và bọc hoàn toàn lớp đó, thay đổi các thành viên mơ hồ thành những phần rõ ràng. Tùy thuộc vào mức độ lớn của lớp học, nó có thể là rất nhiều công việc, mặc dù bạn chỉ phải bọc các thành viên bạn cần, rõ ràng.

Các khác là sử dụng phản chiếu, mà không phải là càng nhiều công việc như bao bì, nhưng vẫn là công việc vô nghĩa so với tác giả chỉ viết mã một cách chính xác ở nơi đầu tiên.