我正在尝试将Irepository接口和存储库添加到服务中,以便可以使用它们。
我这样做:
services.AddScoped<AuctioniRepository, IrepoAuctionInterface>();
这是我得到的错误:
错误CS0311类型'NackowskiLillMygel.Data.IrepoAuctionInterface'不能用作通用类型或方法'ServiceCollectionServiceExtensions.AddScoped(IServiceCollection)'中的类型参数'TImplementation'。从“ NackowskiLillMygel.Data.IrepoAuctionInterface”到“ NackowskiLillMygel.Data.AuctioniRepository”没有隐式引用转换。 NackowskiLillMygel source \ repos \ NackowskiLillMygel \ NackowskiLillMygel \ Startup.cs 39有效
我不明白自己做错了什么。 另外,如果您需要存储库中的更多代码,请告诉我。
我非常感谢您的回答!
答案 0 :(得分:1)
您正在将接口注册为00000000 52 49 46 46 3e 64 00 00 57 45 42 50 56 50 38 58 |RIFF>d..WEBPVP8X|
00000010 0a 00 00 00 10 00 00 00 80 01 00 f3 01 00 41 4c |..............AL|
00000020 50 48 26 00 00 00 01 0f 30 ff 11 11 42 41 db 46 |PH&.....0...BA.F|
00000030 ce 31 3b fe 9c f6 ef 47 90 88 fe 4f 80 ac 2d bf |.1;....G...O..-.|
00000040 ab dc f2 3f fe c7 ff f8 1f ff 63 6f 56 50 38 20 |...?......coVP8 |
00000050 f2 63 00 00 50 5b 01 9d 01 2a 81 01 f4 01 3e c1 |.c..P[...*....>.|
00000060 50 98 46 24 22 a6 17 1c 8d 48 64 0c 04 f4 b7 7a |P.F$"....Hd....z|
00000070 12 67 d3 68 73 8a 32 8e d3 c6 8e 02 de 83 c9 0e |.g.hs.2.........|
00000080 8d ae 63 37 b5 a0 c9 c4 af 0c df 3e fd d3 bd 1f |..c7.......>....|
00000090 cc be af fd b7 f8 5f 62 2f b7 ff e0 ef 0d d5 9f |......_b/.......|
的实现。
.AddScoped()方法的签名如下:
IrepoAuctionInterface
这意味着public static IServiceCollection AddScoped<TService, TImplementation>(this IServiceCollection services)
where TService : class
where TImplementation : class, TService;
应该实现TService
,而您却采用了另一种方法。
您应该像这样翻转参数:
TImplementation
答案 1 :(得分:0)
只需在类IrepoAuctionInterface
中实现接口AuctioniRepository
喜欢
public class AuctioniRepository : IrepoAuctionInterface
{
}