Рейтинг:
6
OriginalGriff
Это не сработает.
Assembly assem = null;
Type countryType = assem.GetType("MyLibrary.Country");
Потому что вы установили
assem
для null вы не можете использовать его для доступа к каким - либо методам-null не является экземпляром чего-либо, тем более сборки.
Вероятно, то, что вам нужно, так это использовать
Собрание.Метод Загрузки (System.Размышления) | Майкрософт Документы[
^] чтобы загрузить свой DLL-файл, а затем получить доступ к типу и создать оттуда экземпляр.
Kaylis2
Как я могу решить задачу из моего вопроса? Пожалуйста, дайте мне правильную форму основного кода.
OriginalGriff
Мы более чем готовы помочь тем, кто застрял, но это не значит, что мы здесь, чтобы сделать все это для вас! Мы не можем сделать всю работу, вам либо платят за это, либо это часть ваших оценок, и было бы совсем несправедливо, если бы мы сделали все это за вас.
Поэтому нам нужно, чтобы вы сделали работу, и мы поможем вам, когда вы застряли. Это не значит, что мы дадим вам пошаговое решение, которое вы можете сдать!
Начните с объяснения, где вы находитесь в данный момент и каков следующий шаг в этом процессе. Затем расскажите нам, что вы пытались сделать, чтобы этот следующий шаг сработал, и что произошло, когда вы это сделали.
Kaylis2
Поймите, сейчас я пытался сделать именно так:
классная программа
{
static void Main(string[] args)
{
Сборка assem = null;
пробовать
{
assem = сборка.Загрузить("MyLibrary");
}
поймать (исключение filenotfoundexception предоставление услуг по монтажу,)
{
Приставка.Метода WriteLine(искл.Сообщение);
вернуть;
}
if (assem == null)
вернуть;
Тип countryType = assem.Метод Gettype("Папку " MyLibrary".Страна");
объект countryObj = активатор.Метод createinstance(countryType);
MethodInfo mi = countryType.GetMethod("GetCountryInfo");
ми.Invoke(countryObj, new object[] { 10 });
object returnValue = mi.Invoke(countryObj, new object[] { 20 });
Приставка.Строку(аргумент returnvalue);
}
}
Консоль выдала мне ошибку исключения. я что - то неправильно написал?
OriginalGriff
Посмотрите на сообщение об исключении, и я почти уверен, что оно даст вам большую подсказку!
Kaylis2
спасибо, вы "действительно помогаете"
OriginalGriff
Всегда пожалуйста!