尝试使用addScoped ASP.Net core 2.1将Irepository添加到服务时出错

时间:2018-09-13 10:56:09

标签: c# asp.net asp.net-core

我正在尝试将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有效

我不明白自己做错了什么。 另外,如果您需要存储库中的更多代码,请告诉我。

我非常感谢您的回答!

2 个答案:

答案 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
{
}