Я пытаюсь использовать класс, который, к сожалению, не имеет определенного конструктора. Когда я пытаюсь создать объект, С# говорит мне, что предопределенного конструктора нет. Мне сказали, что этот класс был создан на Visual Basic 6 много лет назад, и что-то в VB конструктор не нужен.
Может ли кто-нибудь подумать о каких-либо решениях этой проблемы. Возможно, я мог бы объявить новый класс и наследовать старый. Тогда в новом классе я мог бы создать конструктор.
someClass myClass= new someClass();
//Returns an error saying no constructor can be found at all.
Он может иметь внутренний конструктор. См. Этот ответ. Это означает, что вы не сможете получить доступ к конструктору из другой сборки. (См. MSDN.)
В этой сборке может быть какой-то метод, который создает экземпляр этого класса. Попробуйте найти метод, подобный этому, и вызовите его, чтобы получить экземпляр someClass
.
internal
похож на public
, но вы не можете получить к нему доступ из другой сборки . Но если у вас есть какой-то public
метод в исходной сборке с возвращаемым типом someClass
- вы можете вызвать этот метод (который может обращаться к конструктору), и этот метод даст вам экземпляр someClass
.
someClass
есть конструктор. Это просто личное или защищенное. Вы можете использовать Activator для создания экземпляра этого типа