我有以下方法:檢查在C#與通用bool值
void Test<T>(T Result)
,我需要實現這樣的事情:
if Result is null, or T is a bool and that bool is false
我試圖做類似
if (typeof(T) == typeof(bool)
{
if ((bool)Result == false) // doesn't work
if (Result as bool == false) // doesn't work
如何在不創建兩種方法的情況下實現這一點?
你所要求的稱爲模板專業化。在C#中最接近於此的是超載,請參閱我建議的重複答案。 – dlatikay
爲您添加一個約束方法'測試(T結果)其中T:IComparable'使其* *具有可比性*。 'Result.CompareTo(true)== 0' –
'if(someBool == false)'永遠無用。只要使用'if(!someBool)' – oerkelens