Создание класса без конструктора

1

Я пытаюсь использовать класс, который, к сожалению, не имеет определенного конструктора. Когда я пытаюсь создать объект, С# говорит мне, что предопределенного конструктора нет. Мне сказали, что этот класс был создан на Visual Basic 6 много лет назад, и что-то в VB конструктор не нужен.

Может ли кто-нибудь подумать о каких-либо решениях этой проблемы. Возможно, я мог бы объявить новый класс и наследовать старый. Тогда в новом классе я мог бы создать конструктор.

    someClass  myClass= new someClass();
    //Returns an error saying no constructor can be found at all.
  • 0
    добавьте свой код класса
  • 0
    someClass есть конструктор. Это просто личное или защищенное. Вы можете использовать Activator для создания экземпляра этого типа
Показать ещё 5 комментариев
Теги:
constructor

1 ответ

2
Лучший ответ

Он может иметь внутренний конструктор. См. Этот ответ. Это означает, что вы не сможете получить доступ к конструктору из другой сборки. (См. MSDN.)

В этой сборке может быть какой-то метод, который создает экземпляр этого класса. Попробуйте найти метод, подобный этому, и вызовите его, чтобы получить экземпляр someClass.

  • 0
    как вы получаете доступ к внутреннему конструктору, вы могли бы показать пример кода
  • 0
    @ user3670048 internal похож на public , но вы не можете получить к нему доступ из другой сборки . Но если у вас есть какой-то public метод в исходной сборке с возвращаемым типом someClass - вы можете вызвать этот метод (который может обращаться к конструктору), и этот метод даст вам экземпляр someClass .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню