Tôi đang cố gắng làm cho ứng dụng của mình (dành cho Windows 10) hoạt động trong .NET gốc..net gốc enum.GetValues gặp sự cố
Tôi gặp vấn đề sau: Enum.GetValues
không thành công khi chạy với siêu dữ liệu bị thiếu. Tôi quản lý để đơn giản hóa trường hợp thử nghiệm cho vấn đề này (trong cuộc sống thực mã của tôi trông khác nhau). Trong thư viện di động tôi có:
public enum enumValues
{
A1,
B1,
C1,
}
public class fff
{
public static object GetClass2Value()
{
return enumValues.B1;
}
}
trong ứng dụng toàn cầu Windows của tôi tôi gọi đoạn mã sau:
Array aaa = Enum.GetValues(fff.GetClass2Value().GetType());
tôi nhận được ngoại lệ sau đây:
thông tin bổ sung: 'enumlibportable.enumValues [] 'thiếu siêu dữ liệu.
Vấn đề là tôi không biết nên thêm gì vào Default.rd.xml. Tôi đã cố gắng để thêm các chuỗi thứ khác nhau (enum subtype, enumValues lớp, enumValues [] vv) bằng cách sử dụng công cụ microsoft http://go.microsoft.com/fwlink/?LinkID=392859, nhưng không có may mắn.
CẬP NHẬT: Tôi biết rằng đoạn mã sau sẽ làm việc cho testcase tôi Enum.GetValues(typeof(enumValue))
, nhưng tôi không thể sử dụng nó trong dự án thật của tôi kể từ khi tôi không biết kiểu enum chính xác trong dự án thật của tôi.
tôi giả sử mã thực là một trường hợp subclassing/interface? Bạn có thể vui lòng giải thích về điều đó một chút không? – Nyerguds
Vâng, quá dài để giải thích dự án thực sự của tôi, đó là lý do tại sao tôi dành rất nhiều thời gian tìm ra nguyên nhân của vấn đề và chuẩn bị mẫu. Tôi đã mô tả đủ vấn đề của tôi. Vấn đề là tối ưu hóa xóa siêu dữ liệu enum vì nó không được tham chiếu trong ứng dụng một cách rõ ràng. Tôi cần phải nói với trình biên dịch không xóa siêu dữ liệu này. –
Bạn không thể tạo kiểu trả về chung? – Herdo