Sorum şu ki, bir nesneyi diğerine en iyi şekilde ulaştırmak için en iyi yol hangisidir. Aldığımız Dto nesnesinin daha normalize edilmeye hazırlanma şeklini değiştiremem, bu yüzden nesnelerimizin uygulanışına eşlemek için bir yol yaratmalıyım. , Tip I ı modelde alacağını mapper sınıfının bir çeşit PropertyInfo nesneleri olsaydı neyi iyi olurdu benceBir nesneyi diğerine eşleme için en iyi yöntemler
class Program
{
static void Main(string[] args)
{
var dto = new Dto();
dto.Items = new object[] { 1.00m, true, "Three" };
dto.ItemsNames = new[] { "One", "Two", "Three" };
var model = GetModel(dto);
Console.WriteLine("One: {0}", model.One);
Console.WriteLine("Two: {0}", model.Two);
Console.WriteLine("Three: {0}", model.Three);
Console.ReadLine();
}
private static Model GetModel(Dto dto)
{
var result = new Model();
result.One = Convert.ToDecimal(dto.Items[Array.IndexOf(dto.ItemsNames, "One")]);
result.Two = Convert.ToBoolean(dto.Items[Array.IndexOf(dto.ItemsNames, "Two")]);
result.Three = dto.Items[Array.IndexOf(dto.ItemsNames, "Three")].ToString();
return result;
}
}
class Dto
{
public object[] Items { get; set; }
public string[] ItemsNames { get; set; }
}
class Model
{
public decimal One { get; set; }
public bool Two { get; set; }
public string Three { get; set; }
}
: Burada
Ben gerçekleşmesi gereken göstermek için örnek kod dönüştürmek istiyorum ve "itemname" çıkarmak istiyorum. Bu temizleyici yapmak için herhangi bir önerisi var mı?Teşekkürler!
haritalama konusunda emin, ama kesinlikle jenerik bakmak gerekir ve jenerik koleksiyonları kullanmama: http://csharp-station.com/Tutorial/CSharp/Lesson20 – christiandev
Bir sürer Modelinin bir costructor öneririm Dto'da bir şey değiştiğinde derleme hataları alırken, Dto ve haritalar/dönüştürür/uygun şekilde kodlanmış olarak denetler. Yansıma ve dolayısıyla dizelerle uğraşmak, sürekliliği arttırmanıza yardımcı olmaz. – wonko79