Có thể làm điều gì đó như:Có thể xuất/nhập các lớp tĩnh không?
[Export(typeof(Settings)]
public static class Settings
{
public string Name {get;set;}
public string Color {get;set;}
}
[Import(typeof(Settings)]
Settings s;
Có thể làm điều gì đó như:Có thể xuất/nhập các lớp tĩnh không?
[Export(typeof(Settings)]
public static class Settings
{
public string Name {get;set;}
public string Color {get;set;}
}
[Import(typeof(Settings)]
Settings s;
Bạn không thể xuất khẩu một lớp tĩnh, như không có ví dụ để dây lên. Dòng thứ hai:
Settings s;
Sẽ là lỗi trình biên dịch vì bạn không thể khởi tạo lớp tĩnh.
Điều đó đang được nói, điều này thực sự không thường cần thiết. MEF sẽ tự động tạo một cá thể (theo mặc định) của lớp Settings
của bạn (miễn là nó không tĩnh) và đặt cùng một cá thể đó cho bất kỳ Import
nào được chỉ định. Điều này có hiệu quả mang đến cho bạn một lớp "singleton-like", mà không có bất kỳ nhược điểm nào của việc sử dụng một lớp tĩnh hoặc một singleton.