Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将附加参数传递给泛型实现_C#_.net - Fatal编程技术网

C# 将附加参数传递给泛型实现

C# 将附加参数传递给泛型实现,c#,.net,C#,.net,如果不创建特殊的IAdvertService:IService,有什么好的解决方案吗?您可以更改接口方法的签名: public void Do<Advert>(Advert advert) { ... if (additionalParameter) { // do some special stuff } ... } 公共接口iSeries设备 { void Do(T实体,参数object[]参数); } 这样,您不需

如果不创建特殊的
IAdvertService:IService
,有什么好的解决方案吗?

您可以更改接口方法的签名:

public void Do<Advert>(Advert advert)
{
    ...

    if (additionalParameter)
    {
        // do some special stuff
    }

    ...
}
公共接口iSeries设备
{
void Do(T实体,参数object[]参数);
}

这样,您不需要提供参数,但可以。

您可以更改接口方法的签名:

public void Do<Advert>(Advert advert)
{
    ...

    if (additionalParameter)
    {
        // do some special stuff
    }

    ...
}
公共接口iSeries设备
{
void Do(T实体,参数object[]参数);
}

这样,您不需要提供参数,但可以。

您可以更改接口方法的签名:

public void Do<Advert>(Advert advert)
{
    ...

    if (additionalParameter)
    {
        // do some special stuff
    }

    ...
}
公共接口iSeries设备
{
void Do(T实体,参数object[]参数);
}

这样,您不需要提供参数,但可以。

您可以更改接口方法的签名:

public void Do<Advert>(Advert advert)
{
    ...

    if (additionalParameter)
    {
        // do some special stuff
    }

    ...
}
公共接口iSeries设备
{
void Do(T实体,参数object[]参数);
}

这样,您不需要提供参数,但可以提供。

谢谢,好主意。但解决方案中已经有大约80个实现,但如果您需要从接口声明调用它,您必须在某个地方声明它……您是对的。我只是觉得我错过了另一个又好又省时的解决方案。尽管如此,你的是目前最好的。也许全部替换将减轻努力。谢谢,好主意。但解决方案中已经有大约80个实现,但如果您需要从接口声明调用它,您必须在某个地方声明它……您是对的。我只是觉得我错过了另一个又好又省时的解决方案。尽管如此,你的是目前最好的。也许全部替换将减轻努力。谢谢,好主意。但解决方案中已经有大约80个实现,但如果您需要从接口声明调用它,您必须在某个地方声明它……您是对的。我只是觉得我错过了另一个又好又省时的解决方案。尽管如此,你的是目前最好的。也许全部替换将减轻努力。谢谢,好主意。但解决方案中已经有大约80个实现,但如果您需要从接口声明调用它,您必须在某个地方声明它……您是对的。我只是觉得我错过了另一个又好又省时的解决方案。尽管如此,你的是目前最好的。也许全部替换将减轻努力。