将不同的数据类型传递给不返回任何内容的函数

时间:2018-11-12 05:20:28

标签: c# class methods

我有一个class方法,该方法不会返回任何内容,但会修改当前对象的实例变量,它需要能够将两种不同的数据类型作为相同的参数(类的实例或数字)接受。

public class MyClass
{
    public void MyMethod([EITHER MyClass x OR double x])
    {
        if(x is MyClass)
        {
            //do something
        } 
        else
        {
            //do something else
        }
    }

3 个答案:

答案 0 :(得分:5)

您可以像下面那样重载方法MyMethod。

public void MyMethod(MyClass x) {  

}  
public void MyMethod(double x) {  

}

答案 1 :(得分:1)

method overloading用作:

public class MyClass
{
    public void MyMethod(MyClass x)
    {
        // do anything with MyClass 
    }

    public void MyMethod(double x)
    {
       // do anything with double
    }
}

答案 2 :(得分:-1)

请检查以下内容是否有帮助。

     public static void MyTestObjectClass(object value)
        {
            Type getTypeOfParam = value.GetType();//Get type of parameters. 
            //Handle on  getTypeOfParam, you will get namespace.yourType
            if(getTypeOfParam==?)
            {
                //Then do here
            }

        }