小编Tri*_* AI的帖子

C#泛型可以这么酷吗?

我希望能够做到这样的事情:

class A<T1, T2>
{
    public void Call(T1 arg1, T2 arg2)
    {
        B b = new B();
        b.DoSomething(arg1); // determine which overload to use based on T1
        b.DoSomething(arg2); // and T2
    }
}   

class B
{
    public void DoSomething(int x)
    {
        // ...
    }

    public void DoSomething(float x)
    {
       // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道可以使用if/else检查来完成,但这似乎并不优雅,特别是当我有20多种类型可供选择时.

c# generics overloading

3
推荐指数
1
解决办法
165
查看次数

如何将所有 Hangfire 作业的重试次数默认设置为 0?

我使用 C# ASP.NET Core 3.1 和 Hangfire 来安排后台作业。默认情况下,如果后台作业执行过程中发生异常,则有 10 次重试尝试。我知道可以使用该AutomaticRetry属性将其设置为 0,但我不想在每个后台作业上都这样做。相反,我希望默认值为 0,并且仅在极少数情况下(我希望它为非 0)才使用属性手动指定它。谢谢。

hangfire

3
推荐指数
1
解决办法
3175
查看次数

宏观元编程恐怖

我想做的事情如下:

custommacro x;
Run Code Online (Sandbox Code Playgroud)

这将扩展为:

declareSomething; int x; declareOtherthing;
Run Code Online (Sandbox Code Playgroud)

这甚至可能吗?

我已经把它欺骗了一次,operator=表现得像那样,但它不能用声明来完成.

c++ macros metaprogramming c-preprocessor

0
推荐指数
1
解决办法
1529
查看次数