C # Создать элемент управления из строкового значения - PullRequest
1 голос
/ 26 апреля 2011

Привет. Могу ли я создать элемент управления из строкового значения, например

из «System.Windows.Forms.TextBox», создать элемент управления

Ответы [ 4 ]

4 голосов
/ 26 апреля 2011

Вы можете использовать отражение:

var textBoxType = typeof(Control).Assembly.GetType("System.Windows.Forms.TextBox", true);
var textBox = Activator.CreateInstance(textBoxType);
1 голос
/ 26 апреля 2011

Делай так:

var controlType = typeof(Control);
        var type = controlType
            .Assembly
            .GetTypes()
            .Where(t => controlType.IsAssignableFrom(t) && 
                        t.Namespace == "System.Windows.Forms"
                        t.Name == "ControlName"
            ).FirstOrDefault();

var inst = Activator.CreateInstance(type );

Этот ответ из-за вашего предыдущего вопроса.

0 голосов
/ 26 апреля 2011
 Type t = Type.GetType( yourTypeStingHere);

 ConstructorInfo info = t.GetConstructor( new Type[] { } );
 object instance = info.Invoke(new object[]{} )
0 голосов
/ 26 апреля 2011
var assembly = Assembly.GetExecutingAssembly();
var type = assembly.GetType("System.Windows.Forms.TextBox");
var inst = Activator.CreateInstance(type);

Пока не могу проверить.Но это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...