.net core Nuget包接口及其在独立类库中的实现
我有一个关于NuGet软件包的问题.net core Nuget包接口及其在独立类库中的实现,.net-core,nuget,.net Core,Nuget,我有一个关于NuGet软件包的问题 我可以有一个只有接口的类库,并且它的实现在单独的库中吗?此外,我是否可以将实现标记为内部而不是公共?我是否可以拥有一个仅具有接口的类库,并且它的实现位于单独的库中? 对。您可以有一个只有接口类的类库 并具有引用该接口库的其他类库并实现它 此外,我可以将实现标记为内部而不是公共吗? 因为接口方法是公共的,所以当您的类实现接口方法时,您需要将其标记为公共的,所以答案是否定的 但是您可以这样做,用户只能通过定义接口的实例类型来调用接口方法 using Syste
我可以有一个只有接口的类库,并且它的实现在单独的库中吗?此外,我是否可以将实现标记为内部而不是公共?
我是否可以拥有一个仅具有接口的类库,并且它的实现位于单独的库中?
对。您可以有一个只有接口类的类库
并具有引用该接口库的其他类库并实现它
此外,我可以将实现标记为内部而不是公共吗?
因为接口方法是公共的,所以当您的类实现接口方法时,您需要将其标记为公共的,所以答案是否定的
但是您可以这样做,用户只能通过定义接口的实例类型来调用接口方法
using System;
namespace InterfaceLibrary
{
public interface IInterface
{
public void Do();
}
}
其实你可以自己试试。本地的类库与NuGetThank没有什么不同@MichaelMao@bankerbox我不知道你们到底想做什么,你们能解释一下吗?我只是想知道,若我必须做一个nuget包,接口和它的实现是否可以在不同的类库中拆分,内部部分呢?
using System;
using InterfaceLibrary;
namespace ClassLibrary
{
public class Class : IInterface
{
void IInterface.Do()
{
Console.WriteLine("Do");
}
}
}
// This can find the Do method
IInterface class1 = new Class();
class1.Do();
// This can't find the Do method
Class class2 = new Class();
class2.Do();