我正在尝试创建一个Generic接口,其中一个方法的参数类型由泛型定义
编辑
我意识到我可能通过在Factory创建方法中指定一个类型参数来混淆问题后稍微改变了这个问题.我有两种类型的API调用,我需要对第三方API.第一个使用ID作为int从API检索记录.第二个也从API检索记录,但Id是一个字符串(guid).我有一个类用于每个记录类型(ClientEntity和InvoiceEntity),它们都实现了一个通用接口,我在其中传递Id类型
这是我在其中声明一个带有id参数的方法的接口
public interface IGeneric<TId>
{
void ProcessEntity(TId id);
}
Run Code Online (Sandbox Code Playgroud)
我在几个类中实现了接口,一个将id设置为int,另一个设置为字符串.
public class ClientEntity: IGeneric<int> // Record with Id that is an int
{
public void ProcessEntity(int id)
{
Console.WriteLine(id);
// call 3rd party API with int Id
}
}
public class InvoiceEntity: IGeneric<string> // Record with Id that is a string (guid)
{
public void ProcessEntity(string id)
{
Console.WriteLine(id);
// call 3rd party API with string Id
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何在工厂模式中使用它?
public static class GenericFactory
{
public static …Run Code Online (Sandbox Code Playgroud)