2015-11-13 4 views
0

Я пытаюсь динамически меняется тип свойства в моем коде, например, при Person класса ниже, как я могу изменить свойство имя типа из BOOL в строку?C# динамически изменить свойство типа

public class Person 
{  
    public bool name;  
} 
+0

Вы имеете в виду во время выполнения? – adv12

+0

Да, во время выполнения –

+0

Невозможно сделать. Не могу придумать, почему кто-то захочет это сделать. – JJF

ответ

4

Если вы хотите сделать это во время выполнения, у вас есть разные варианты. Некоторые из них:

1) Создайте объект собственности и проверить типы, где вы его используете:

public class Person 
{  
    public object Name;  
} 

2) Создание универсального типа для лица, которая позволяет определить различные экземпляры класса для различных типов :

public class Person<T> 
{  
    public T Name;  
} 

var boolPerson = new Person<bool>(); 
boolPerson.Name = true; 
var stringPerson = new Person<string>(); 
stringPerson.Name = "aString"; 

Однако вы должны объяснить, почему вы хотите это сделать, поскольку может быть лучшее решение.

0

Посмотрите на this (вы можете создать динамический объект и изменить этот объект во время выполнения).

+0

Спасибо, Ботеа! –

+0

Добро пожаловать! –