-3

Is it possible to pass ClassA as argument without using typeof or initializing it?

class ClassA {
}

class ClassB {
     public void Function([something here] clazz) {
                  ......
     }
}

class ClassC {

     public void main() {
         ClassB asdf = new ClassB();
         asdf.Function(ClassA);   // pass like that, not typeof() or something else
     }
}
red_asparagus
  • 349
  • 4
  • 16

1 Answers1

1

Yes, you can pass the type as a generic parameter.

class ClassA {
}

class ClassB {
    public void Function<T>() {
              ......
    }


class ClassC {
    public void main() {
        ClassB asdf = new ClassB();
        asdf.Function<ClassA>();   // magic
    }
}

This sort of thing is very common with IoC containers and autofactories:

var o = container.Resolve<SomeClassName>();
John Wu
  • 50,556
  • 8
  • 44
  • 80