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

Сообщение Re: Использование в TypeScript классов .Net от 30.01.2017 15:00

Изменено 30.01.2017 15:08 Serginio1

Re: Использование в TypeScript классов .Net
Здравствуйте, Serginio1, Вы писали:
Сделал и работает на Angular 2 и TypeScript


 let Net = NetObject.NetWrapper;
        let del = NetObject.FlagDeleteObject;
        //let SB = Net.Новый("System.Text.StringBuilder");
        let StringBuilder = Net.Тип("System.Text.StringBuilder");
        let SB = new StringBuilder();
        this.ResultExecute.push(new ResTest("SB", SB));
        var res = SB.Append("Первая строка");
        res(del);

        var ToStr = SB.ToString();
        this.ResultExecute.push(new ResTest("Tostring=", ToStr));

        SB.Capacity=40;

        res = SB._Capacity;
        this.ResultExecute.push(new ResTest("_Capacity=", res));
        SB(del);
        let Тестовый = Net.Тип("TestDllForCoreClr.Тестовый", "TestDllForCoreClr");
        var TO = new Тестовый("Свойство из Конструктора");
         var resAsync = await TO.async.GetStringAsync();
  
        this.ResultExecute.push(new ResTest("GetStringAsync", resAsync));

        res = TO.ДженерикМетод(1, 2, 5);
        this.ResultExecute.push(new ResTest("ДженерикМетод с выводом типов ", res));

        let Int32 = Net.GetType("System.Int32");

        res = TO.ДженерикМетод([Int32, Int32], 1, 2, 5);
        this.ResultExecute.push(new ResTest("ДженерикМетод с аргeментами типов ", res));


        var Dictionary2 = Net.GetType("System.Collections.Generic.Dictionary`2", "System.Collections");
        var DyctionaryIS = Net.GetGenericType(Dictionary2, "System.Int32", "System.String");
        var D = new DyctionaryIS();

        res = TO.ДженерикМетод2(D, 99, "Hello");

        this.ResultExecute.push(new ResTest("ДженерикМетод2 с выводом типов ", res));

        res = TO.ДженерикМетод2([Int32, "System.String"],D, 99, "Hello");
        this.ResultExecute.push(new ResTest("ДженерикМетод2 с аргументами ", res));

        var task = TO.GetStringAsync();
        res = await Net.async.ReturnParam(task);
       

        this.ResultExecute.push(new ResTest("выполнение полученной задачи асинхронно ", res));

        var array = Net.GetNetArray(1, "Привет", 4.4);

        for (let item of array)
            this.ResultExecute.push(new ResTest("Элемент ", item));

        NetObject.DeleteNetObjets(Int32, task, D, DyctionaryIS, Dictionary2, TO, Тестовый, StringBuilder, array);

        this.ResultExecute.push(new ResTest("Количество элементов в хранилище ", Net.КоличествоЭлементовВХранилище()));
        this.ResultExecute.push(new ResTest("Первый удаленный ", Net.FirstDeleted()));



Отличие от C# это
Для получения свойства нужно добавить "_"
 res = SB._Capacity;


Для вызова асинхронного метода нужно добавить ключевое слово async
var resAsync = await TO.async.GetStringAsync();


Для вызова дженерик метода, если нельзя вывести типы по параметрам то параметры указываем в массиве
res = TO.ДженерикМетод2([Int32, "System.String"],D, 99, "Hello");
Re: Использование в TypeScript классов .Net
Здравствуйте, Serginio1, Вы писали:
Сделал и работает на Angular 2 и TypeScript


 let Net = NetObject.NetWrapper;
        let del = NetObject.FlagDeleteObject;
        //let SB = Net.Новый("System.Text.StringBuilder");
        let StringBuilder = Net.Тип("System.Text.StringBuilder");
        let SB = new StringBuilder();
        this.ResultExecute.push(new ResTest("SB", SB));
        var res = SB.Append("Первая строка");
        res(del);

        var ToStr = SB.ToString();
        this.ResultExecute.push(new ResTest("Tostring=", ToStr));

        SB.Capacity=40;

        res = SB._Capacity;
        this.ResultExecute.push(new ResTest("_Capacity=", res));
        SB(del);
        let Тестовый = Net.Тип("TestDllForCoreClr.Тестовый", "TestDllForCoreClr");
        var TO = new Тестовый("Свойство из Конструктора");
         var resAsync = await TO.async.GetStringAsync();
  
        this.ResultExecute.push(new ResTest("GetStringAsync", resAsync));

        res = TO.ДженерикМетод(1, 2, 5);
        this.ResultExecute.push(new ResTest("ДженерикМетод с выводом типов ", res));

        let Int32 = Net.GetType("System.Int32");

        res = TO.ДженерикМетод([Int32, Int32], 1, 2, 5);
        this.ResultExecute.push(new ResTest("ДженерикМетод с аргeментами типов ", res));


        var Dictionary2 = Net.GetType("System.Collections.Generic.Dictionary`2", "System.Collections");
        var DyctionaryIS = Net.GetGenericType(Dictionary2, "System.Int32", "System.String");
        var D = new DyctionaryIS();

        res = TO.ДженерикМетод2(D, 99, "Hello");

        this.ResultExecute.push(new ResTest("ДженерикМетод2 с выводом типов ", res));

        res = TO.ДженерикМетод2([Int32, "System.String"],D, 99, "Hello");
        this.ResultExecute.push(new ResTest("ДженерикМетод2 с аргументами ", res));

        var task = TO.GetStringAsync();
        res = await Net.async.ReturnParam(task);
       

        this.ResultExecute.push(new ResTest("выполнение полученной задачи асинхронно ", res));

        var array = Net.GetNetArray(1, "Привет", 4.4);

        for (let item of array)
            this.ResultExecute.push(new ResTest("Элемент ", item));

        NetObject.DeleteNetObjets(Int32, task, D, DyctionaryIS, Dictionary2, TO, Тестовый, StringBuilder, array);

        this.ResultExecute.push(new ResTest("Количество элементов в хранилище ", Net.КоличествоЭлементовВХранилище()));
        this.ResultExecute.push(new ResTest("Первый удаленный ", Net.FirstDeleted()));



Отличие от C# это
Для получения свойства нужно добавить "_"
 res = SB._Capacity;


Для вызова асинхронного метода нужно добавить ключевое слово async
var resAsync = await TO.async.GetStringAsync();


Для вызова дженерик метода, если нельзя вывести типы по параметрам то параметры указываем в массиве
res = TO.ДженерикМетод2([Int32, "System.String"],D, 99, "Hello");



Буду рад критике и предложениям.
Какие примеры лучше дать для статьи.