Это успешно при использовании int?
для преобразования.
Ошибка при использовании отражения для преобразования.
Как я могу присвоить значение enum?
свойству int?
успешно с помощью отражения?
static void Main(string[] args)
{
Dc dc = new Dc { Solution = Solution.Upgrade };
Model model = new Model { };
//assign by reflection
var psolution = model.GetType().GetProperty("Solution");
//psolution.SetValue(model, dc.Solution); //this fail
model.Solution = (int?)dc.Solution; //this success
psolution.SetValue(model, Convert.ChangeType(dc.Solution, psolution.PropertyType)); //this fail
}
class Dc
{
public Solution? Solution { get; set; }
}
class Model
{
public int? Solution { get; set; }
}
enum Solution
{
Upgrade = 1,
Discard = 2,
}