böyle bir şeydir:C# Yansıma: Nullable <int> türünü nasıl edinebilirim? Yapmak istediğim ne
switch(myObject.GetType().GetProperty("id"))
{
case ??:
// when Nullable<Int32>, do this
case ??:
// when string, do this
case ??:
// when Nullable<bool>, do this
object.GetType altında ne yol() Bir vaka ifadesini kullanarak karşılaştırabilirsiniz veri türü dize adı var ki? Ben türünü bilmek gerekir, bu yüzden Reflection kullanarak myObject değerini ayarlayacak birçok Convert.ToInt32 (string) birine sahip olabilirsiniz.
Bu neredeyse kesinlikle yanlış şeyler yapıyor. Neden dev bir anahtar ifadesi kullanmak yerine polimorfizmden yararlanamıyorsunuz? –
Farklı parametre türleri ile çeşitli işlevler oluşturmanızı önerebilirseniz, yapabilirim. Bu durumda, bir nesneden diğerine her zaman bir dize türü olan farklı türdeki bir özellik kümesini kopyalıyorum. Yani, atamak için değeri dönüştürmem gerekiyor. Bu ve Reflection ile çok az deneyimim var. –
@CodyGray yansımasıyla ilgili bir şeyler yapıyor olabilir, kendi ORM'sini yazmayı söyleyin. Ya da tüm bu DAO'lar için özel bir serileştirici yazarken asla bilemezsiniz. – nawfal