I have a situation where in I have 3 classes like below:
public class A
{
public int Id { get; set; }
public int BranchId { get; set; }
public int LocationId { get; set; }
public int DepID { get; set; }
public int Age { get; set; }
public string Name { get; set; }
}
public class B
{
public int LocationId { get; set; }
public int DepID { get; set; }
public int Age { get; set; }
public string Name { get; set; }
}
public class C
{
public int Age { get; set; }
public string Name { get; set; }
}
From the above classes we see that there are few common properties b/w 3 classes.
I have a situation where I have to create a final output by combining the values from 3 classes and overriding them when there and values in lower classes.
For ex:-
Consider property Age which is all 3 classes A, B and C but if the value of it in C is not null while merging the value in class C takes priority, and this will be the case for all the properties.
I have already achieved this using Reflection, by reading the values from the instance of all the 3 classes I have by using .GetType() and .GetProperties() methods which are part of System.Reflection library.
With the current Reflection based approach I will able to handle any addition of properties in any of the classes.
But I have read that the Reflection is bad on performance.
So is there a better way of doing this?
Aucun commentaire:
Enregistrer un commentaire