Re: Вызов конструктора после GetUninitializedObject
От: vorona  
Дата: 29.02.16 15:50
Оценка: 49 (3)
Здравствуйте, LWhisper, Вы писали:

using System;
using System.Runtime.Serialization;

namespace ConsoleApplication1
{
    class A
    {
        public A(string param)
        {
            Console.WriteLine(param);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            IntPtr ctor = typeof(A).GetConstructor(new Type[] { typeof(String) }).MethodHandle.GetFunctionPointer();
            var actionCtor = typeof(Action<Object, String>).GetConstructor(new Type[] { typeof(Object), typeof(IntPtr) });
            var ctorDelegate = (Action<Object, String>)actionCtor.Invoke(new Object[] { null, ctor });

            var a = (A)FormatterServices.GetUninitializedObject(typeof(A));
            ctorDelegate(a, "Hello world!");
        }
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.