Передавать разные типы данных в функцию, которая ничего не возвращает - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть метод класса, который ничего не возвращает, но изменяет переменную экземпляра текущего объекта, он должен иметь возможность принимать два разных типа данных в качестве одного и того же параметра (экземпляр класса или число).

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

Ответы [ 3 ]

0 голосов
/ 12 ноября 2018

Использовать метод перегрузки как:

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

    public void MyMethod(double x)
    {
       // do anything with double
    }
}
0 голосов
/ 12 ноября 2018

Пожалуйста, проверьте, может ли быть полезным следующее.

     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
            }

        }
0 голосов
/ 12 ноября 2018

Вы можете перегрузить метод MyMethod, как показано ниже.

public void MyMethod(MyClass x) {  

}  
public void MyMethod(double x) {  

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...