Clase:
clase Receta { pública int ID { llegar ; establecer ; } Pública cadena RecipeName { get ; establecer ; } Pública cadena de comentario { llegar ; establecer ; } Pública cadena Cantidad { get ; establecer ; } Pública cadena con1 { get ; establecer ; } Pública cadena con2 { get ; establecer ; } pública cadena con3 { llegar ; establecer ; } }
Ahora bien, según con1, con2 y con3 crear dinámicamente tres etiqueta.
int X = 75 , Y = 65 , i = 0 ; Receta Receta = nueva receta {ID = 1 , con1 = " p1 " , con2 = " p2 " , con3 = " p3 " }; foreach ( var prop en recipe.GetType (). GetProperties ()) { si (prop.Name.StartsWith ( " con " )) { var value =prop.GetValue (receta); si (valor! = nulo ) { Label etiqueta = nueva etiqueta () { AutoSize = verdadero , MaximumSize = nuevo Tamaño ( 300 , 150 ), MinimumSize = nuevo Tamaño ( 300 , 10 ), Ubicación = nuevo punto (X, Y + 20* I), Texto = value.ToString () }; i ++ ; Controls.Add (etiqueta); } } }
Resultados del ensayo: