Tôi đang cố gắng tìm ra thuộc tính Constructor Injection của MEF. Tôi không có ý tưởng làm thế nào tôi nói với nó để tải các tham số của nhà xây dựng.MEF Constructor Injection
này là tài sản Tôi đang cố gắng để tải
[ImportMany(typeof(BUsers))]
public IEnumerable<BUsers> LoadBUsers { get; set; }
Đây là mã tôi đang sử dụng để nhập khẩu các hội đồng.
try
{
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new AssemblyCatalog(System.Reflection.Assembly.GetExecutingAssembly()));
catalog.Catalogs.Add(new DirectoryCatalog("DI"));
var container = new CompositionContainer(catalog);
container.ComposeParts(this);
}
Đây là lớp tôi đang cố gắng để tải
[Serializable]
[Export(typeof(BUsers))]
public class EditProfile : BUsers
{
[ImportingConstructor]
public EditProfile(string Method, string Version)
{
Version = "2";
Action = "Edit";
TypeName = "EditProfile";
}
Tôi vừa tải xuống tệp mới tại CodePlex. Phương thức ComposeExportedValue() không có trong lớp của CompositionContainer. Nó đâu rồi? –
Tôi nghĩ tôi đã tìm ra phương pháp. Nó nằm trong lớp AttributedModelServices, trong đó phương thức được định nghĩa là phương thức mở rộng cho lớp CompositionContainer. –
@ David.Chu.ca Có, ComposeExportedValue là một phương thức mở rộng trên lớp AttributedModelServices. –