我希望能够做到这样的事情:
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# ASP.NET Core 3.1 和 Hangfire 来安排后台作业。默认情况下,如果后台作业执行过程中发生异常,则有 10 次重试尝试。我知道可以使用该AutomaticRetry属性将其设置为 0,但我不想在每个后台作业上都这样做。相反,我希望默认值为 0,并且仅在极少数情况下(我希望它为非 0)才使用属性手动指定它。谢谢。
我想做的事情如下:
custommacro x;
Run Code Online (Sandbox Code Playgroud)
这将扩展为:
declareSomething; int x; declareOtherthing;
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
我已经把它欺骗了一次,operator=表现得像那样,但它不能用声明来完成.