接受不同类名作为参数的通用函数

时间:2018-01-02 06:07:11

标签: c#

我正在使用C#,我需要创建一个可以接受参数作为类名的方法。

喜欢: -

Class A
{
   public string name {get;set;}
}

Class B
{
   public int age {get;set;}
}

Class C
{
   public decimal salary {get;set;}
}

函数将根据某些条件调用MethodABC。

Function1(){
A obj = new A();
 MethodaBC(obj);
}

Function2(){
B obj = new B();
 MethodaBC(obj);
}

Function3(){
C obj = new C();
 MethodaBC(obj);
}

方法定义是: - 静态MethodABC(....)

在MethodABC中,我需要根据MethodABC中传递的类对象进行一些操作。

1 个答案:

答案 0 :(得分:1)

您可以随时使用activator课程来帮助您。

示例:

Type type = typeof(MyClass);

MyClass instance = (MyClass)Activator.Create(type);

//method example
public void ClassGet(string MyClassName,string blabla)
{
    object instance = Activator.Create(MyClassName);
}

// Call it like:

Gold g = new Gold();
g.ClassGet("MyClass", "blabla");

您也可以将该类作为对象传递:

  //method example
    public void ClassGet(MyClass MyClassName,string blabla)
    {
        object instance = Activator.Create(MyClassName);
    }

    // Call it like:

    Gold g = new Gold();
    g.ClassGet(MyClass, "blabla");