鑑於聲明的類型如下圖所示故障排除:爲什麼在此類型推斷失敗?
public class EqualityProbe<T>
{
public EqualityProbe(Func<T> functionToGetActualValue, T expectedValue, string probeDescription) {..}
客戶端代碼:
// cannot infer bool here
new EqualityProbe(CanConnectToMachine, true, "Probe machine is online")
// compiles fine
new EqualityProbe<bool>(CanConnectToMachine, true, "Probe machine is online")
我的理解是,類型推斷不會爲法團(如CanConnectToMachine)或匿名方法的工作(lambda表達式)。
但在這種情況下,爲什麼不編譯器推斷第二個參數
可能重複的[爲什麼不能C#構造函數推斷類型?](http://stackoverflow.com/questions/3570167/why-cant-the-c-constructor-infer-type) – AakashM 2011-04-20 06:47:57
可能重複的[爲什麼C#不支持類構造函數中的泛型類型?](http://stackoverflow.com/questions/45604/why-doesnt-c-sharp-support-implied-generic-types-on-class-constructors) – nawfal 2013-05-27 03:28:38