Эквивалент класса Java во время выполнения в .NET является объектом System.Type. Есть два способа получить один: вызов GetType()
на любой экземпляр объекта (поступает из System.Object, поэтому все его поддерживает) или используйте the typeof
operator.
может также просто использовать имя класса raw, но я ожидаю, что он захочет объект Type. Это будет зависеть от того, как IKVM реализует отражение Java; Я действительно не знаю.
Конечно, вы могли бы просто сделать все это, используя отражение .NET. Я не знаю, если это эквивалентно тому, что делают ваши строки, потому что вы используете какую-то странную нестандартную вещь, похожую на Java, но похоже, что вы просто пытаетесь получить экземпляр «по умолчанию» класса ...?
// I haven't tested this, but it may work:
ProjectController pc = Lookup.getDefault().lookup(typeof(ProjectController));
// You could also just try it without the ".class" part (since "class" is reserved in C#):
ProjectController pc = Lookup.getDefault().lookup(ProjectController);
// Or, if you want the .NET reflection "proper" way to do what I *think* you're attempting:
ProjectController pc = typeof(ProjectController).GetContructor(Type.EmptyTypes).Invoke(null);
// Of course, that's just the same thing as this simple line, so I probably misunderstood:
ProjectController pc = new ProjectController();