是否可以更改预定义方法在C#中可以采用的参数?

时间:2016-11-07 18:12:12

标签: c# methods parameters casting

我不确定这是否可行。我使用一个接受参数int的方法,但我发现自己处于需要能够使用浮点值的情况。有没有人知道是否有改变预定义方法可以采取的参数?

全部谢谢 最好 亚历克斯

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

public static float myMethod(float sumNumber)
{ 
      // whatever you need for code here
      return sumNumber;
}

public static int myMethod(int sumNumber)
{ 
     // whatever you need for code here
     return sumNumber;
}

答案 2 :(得分: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

答案 3 :(得分: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);