Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2012, 16:41   #11
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

Насчет
Цитата:
Сообщение от LISTAT Посмотреть сообщение
Только один вопрос:
не совсем понял - вы его задали и сами же на него и ответили, разве что массив неправильно инициализировали.
По поводу вызова конструктора:
Код:
type.GetConstructor(Type.GetType("string"), Type.GetType("double"), Type.GetType("double")).Invoke(new object[]{"", 3.0, 3.0})
Учтите, я рефлексию плохо помню, могу ошибаться. Лучше загляните в msdn или Шилдта почитайте.
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
Lasur вне форума Ответить с цитированием
Старый 18.04.2013, 11:26   #12
olb
Новичок
Джуниор
 
Регистрация: 18.04.2013
Сообщений: 1
По умолчанию

подключаю динамически dll
исходный код dll
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace MyDll
{
    public class ResultRec
    {
        int line;
        string message;
        public ResultRec(int line, string message)
        {
            this.line = line;
            this.message = message;
        }
    }

    public class MyDllClass
    {
        public IEnumerable<ResultRec> MyDllMethod(int count)
        {
            List<ResultRec> rr = new List<ResultRec>();
            for (int i = 0; i < count; i++)
            {
                rr.Add(new ResultRec(i, string.Format("строка {0}", i)));
            }
            return rr;
        }
    }

}
код, где используется dll

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Reflection;


namespace MyExe
{

    public class Program
    {
        public static void Main(string[] args)
        {
            Assembly assembly = Assembly.LoadFile(@"C:\ClassLibrary1.dll");
            Type ResultRec = assembly.GetType("MyDll.ResultRec");
            Type MyDllClass = assembly.GetType("MyDll.MyDllClass");
            Object obj = assembly.CreateInstance("MyDll.MyDllClass");
            MethodInfo method = MyDllClass.GetMethod("MyDllMethod");

            Object ret = method.Invoke(obj, new Object[] {3});

            Console.WriteLine(ret);
            Console.ReadLine();

        }
    }
}
данный код работает, но как мне теперь добраться до элементов коллекции, которую возвращает метод из dll ?
olb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов метода из метода kuzjma PHP 8 10.12.2010 02:38
Вызов макросов из меню с параметрами tae1980 Microsoft Office Excel 4 22.09.2010 22:59
Вызов метода в asm вставке. Mixasik Общие вопросы Delphi 3 20.02.2010 10:42
Вызов программы с параметрами bgmd.win Общие вопросы Delphi 2 05.01.2010 14:40
Вызов Метода из др. модуля Mickle Общие вопросы Delphi 2 10.05.2007 23:41