Tôi không thể tìm ra cách xác định hàm tạo mặc định (khi nó tồn tại quá tải) cho một loại trong Sơ đồ cấu trúc (phiên bản 2.5) theo mã.Cách xác định hàm tạo mặc định bằng mã bằng StructureMap?
Tôi muốn nhận một phiên bản dịch vụ và vùng chứa phải tiêm một cá thể ngữ cảnh dữ liệu Linq2Sql vào trong đó.
tôi đã viết này trong phương pháp 'bootstrapper' của tôi:
ForRequestedType<MyDataContext>().TheDefault.Is.OfConcreteType<MyDataContext>();
Khi tôi chạy ứng dụng của tôi, tôi đã nhận lỗi này:
StructureMap Exception Code: 202
No Default Instance định nghĩa cho PluginFamily MyNamespace.Data.SqlRepository.MyDataContext, MyNamespace.Data, Phiên bản = 1.0.0.0, Văn hóa = trung lập, PublicKeyToken = null
Nếu tôi nhận xét tất cả các LINQ2Sql tạo ra contructors mà tôi không cần, nó hoạt động tốt.
Cập nhật: Ồ, và tôi quên nói rằng tôi sẽ không sử dụng thuộc tính [StructureMap.DefaultConstructor]
.
Cảm ơn bạn rất nhiều, nó đã làm việc ở đây quá :-D! –
Cập nhật SM 2.6 Cú pháp: Đối với(). Sử dụng (() => new MyDataContext()); –
mxmissile
Nó xuất hiện trong SM 2.6.2 rằng việc sử dụng không có bất kỳ đối số hàm tạo nào. –