PerformanceCounterCategory

PerformanceCounterCategory

我想编写一个仅将PerformanceCounterCategory作为参数的Action。我知道有Action ,Func 和Delegates,它们之间有一些区别,但是我不确定它是什么。有人可以告诉我有什么区别吗(我读到Action不返回的地方,或者可能是Func)。我正在尝试编写如下内容:Action<PerformanceCounterCategory> action = (int > 5) ? action1 : action2;action1和action2都是返回void但将PerformanceCounterCategory作为(唯一)参数的方法。这是正确的方法吗?我不断收到有关方法组/无效等的错误,因此我不确定上面的代码是否最适合我的需求。谢谢 (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 您需要转换一侧或另一侧-或不使用条件运算符。基本上,忽略分配-因为编译器会这样做。它不使用您试图分配给变量来计算条件表达式类型的事实。我们只剩下:(i > 5) ? action1 : action2作为表达。那是什么类型?方法组应转换为哪种委托类型?编译器无法知道。如果您强制转换其中一个操作数,则编译器可以检查是否可以转换另一个操作数:(i > 5) ? (Action<PerformanceCounterCategory>) action1 : action2或者:Action<PerformanceCounterCategory> action = action2;if (i > 5){ action = action1;}不幸的是,但是这就是我的生命:( (adsbygoogle = window.adsbygoogle || []).push({});
09-30 16:49