Информация об изменениях

Сообщение Re[92]: Java vs C# vs C++ от 12.10.2015 8:51

Изменено 12.10.2015 8:57 Serginio1

Здравствуйте, alex_public, Вы писали:

_>Здравствуйте, Serginio1, Вы писали:


S>> Еще раз моя обертка для любого нетовского класса, который 1С ник может использовать только зная имя класса если сборка загружена либо AssemblyQualifiedName

S>>если сборка находится в GAC.

_>Ну так а для использования из 1C C++ кода, сделанного с поддержкой COM'a даже и никакие обёртки не нужны.

А вот мне не нужна поддержка ком любого нетовского класса. Это уже издевательство какое то.

S>>>> Это еще раз подтверждение того, что ты невнимательно читаешь ссылки

_>>>Эээ что? )
S>> То, что привел пример универсальной обертки. Где не нужно делать каких либо действий, кроме подписки на события.
S>>Это плюсы Net, где есть Reflection, заглушка к COM, GC. Чего нет в C++. А решать все через предварительное создание враперов не выход, так как я не знаю, чего захочет 1С ник (какие классы, сборки будет использовать), так как врапер универсальный и в real time. По сути это бесплатное расширение 1С. Но самый смех в том, что это мало кому нужно.

_>Вообще то мы сравнивали сложность написания C# и C++ кода, который потом будут вызывать из 1C. Так вот в этом разницы не видно. Если же ты хочешь поговорить о возможности запуска из 1C некого чужого, скомпилированного в бинарник кода, то это уже совсем другой вопрос для другой дискуссии.

Да написания C# кода вообще не существует. Используются любые нетовские классы.
Так запускается то скомпилированный код сборки. Ну читайте внимательно о чем речь. Вы же С++ ники белая кость.

public object CreateObject(object type)
        {

            var res = ТипДляСоздатьОбъект(type);
            return AutoWrap.ОбернутьОбъект(System.Activator.CreateInstance(res));

        }
Re[92]: Java vs C# vs C++
Здравствуйте, alex_public, Вы писали:

_>Здравствуйте, Serginio1, Вы писали:


S>> Еще раз моя обертка для любого нетовского класса, который 1С ник может использовать только зная имя класса если сборка загружена либо AssemblyQualifiedName

S>>если сборка находится в GAC.

_>Ну так а для использования из 1C C++ кода, сделанного с поддержкой COM'a даже и никакие обёртки не нужны.

А вот мне не нужна поддержка ком любого нетовского класса. Это уже издевательство какое то.

S>>>> Это еще раз подтверждение того, что ты невнимательно читаешь ссылки

_>>>Эээ что? )
S>> То, что привел пример универсальной обертки. Где не нужно делать каких либо действий, кроме подписки на события.
S>>Это плюсы Net, где есть Reflection, заглушка к COM, GC. Чего нет в C++. А решать все через предварительное создание враперов не выход, так как я не знаю, чего захочет 1С ник (какие классы, сборки будет использовать), так как врапер универсальный и в real time. По сути это бесплатное расширение 1С. Но самый смех в том, что это мало кому нужно.

_>Вообще то мы сравнивали сложность написания C# и C++ кода, который потом будут вызывать из 1C. Так вот в этом разницы не видно. Если же ты хочешь поговорить о возможности запуска из 1C некого чужого, скомпилированного в бинарник кода, то это уже совсем другой вопрос для другой дискуссии.

Да написания C# кода вообще не существует. Используются любые нетовские классы.
Так запускается то скомпилированный код сборки. Ну читайте внимательно о чем речь. Вы же С++ ники белая кость.

public object CreateObject(object type)
        {

            var res = ТипДляСоздатьОбъект(type);
            return AutoWrap.ОбернутьОбъект(System.Activator.CreateInstance(res));

        }

        public object СоздатьОбъект(object Тип, params object[] argOrig)
        {
            //   MessageBox.Show(Тип.ToString() + " параметров=" + args.Length.ToString());

            var res = ТипДляСоздатьОбъект(Тип);

            object[] args = AutoWrap.ПолучитьМассивРеальныхОбъектов(argOrig);
            return AutoWrap.ОбернутьОбъект(System.Activator.CreateInstance(res, args));

        }


https://msdn.microsoft.com/ru-ru/library/system.activator.createinstance(v=vs.110).aspx
Activator.CreateInstance — метод

Создает экземпляр указанного типа, используя конструктор, соответствующий заданным параметрам.
Кстати в Net 4.5 появилась поддержка для Com params object[]