2016-11-07 37 views
2

林不知道這是可能的。即時通訊使用一個方法,採用參數int,但我發現自己在一種情況下,我需要能夠使用浮點值。有誰知道是否有改變預定義方法可以採用的參數?是否可以更改預定義方法在C#中可以使用的參數?

感謝所有 最佳 亞歷

+0

您是否嘗試過重載方法? –

+0

只需將其轉換爲int(int),或者在其周圍編寫您自己的封裝,它接受浮點數並在內部強制轉換爲int。 – jamesbascle

+0

謝謝大家!今天我學到了很多。所有最好的 – AlexC

回答

0

C#有泛型他類型的要求,要運用參數輸入

的例如類型的邏輯淡然道:

T foo<T>(T param) 
{ 
    return param + 1; 
} 

//and it can be used like this 

int i; 
foo<int>(i); // return type is int 

float f; 
foo<float>(f); // return type is float 
+0

非常感謝這真的很有幫助!當我得到一個15生病的代表給你所有的投票。最好的Alex – AlexC

0

您可以按如下方式重載方法:

+0

這兩種方法不應該有相同的返回類型嗎? – Jules

+0

@Jules我不確定我是否按照任何一種方式返回float或int我只是沒有在計算上添加任何邏輯。 –

+1

@Jules沒有必要。 – Kyle

0

成員重載意味着創建兩個或多個相同類型的成員,這些成員僅在參數的數量或類型上有所不同,但名稱相同。 - Microsoft MSDN

// your method 
public static double Inc(int i) 
{ 
    return i + 1; 
} 

// your method (overloaded) 
public static double Inc(double d) 
{ 
    return d + 1; 
} 

int i = Inc(3); 
double d = Inc(2.0); // You can use the same method with different parameter types 

網站www.dotnetperls.com有很多很好的例子。如果你想看到除MSDN以外的其他解釋,你可以閱讀this

+0

非常感謝這真的很有幫助!當我得到一個15生病的代表給你所有的投票。最好的Alex – AlexC

0

您可以爲這些方法定義一個通用類。

public class GenericMethodsClass<T> 
{ 
    public static T myMethod(T sumNumber) 
    { 
     // whatever you need for code here 
     return sumNumber; 
    } 
} 

呼喚:

GenericMethodsClass<int>.myMethod(1); 
GenericMethodsClass<double>.myMethod(1.2); 
+0

非常感謝這真的很有幫助!當我得到一個15生病的代表給你所有的投票。最好的亞歷克斯 – AlexC

+0

現在你可以做到這一點 –

相關問題