Además de la cuestionable utilidad de esto, me gustaría preguntar si es posible hacer algo en esta línea.Primitivas personalizadas en C#?
class MyPrimitive {
String value;
public String Value {
get { return value; }
set { this.value = value; }
}
}
// Instead of doing this...
MyPrimitive a = new MyPrimitive();
a.Value = "test";
String b = a.Value;
// Isn't there a way to do something like this?
MyPrimitive a = "test";
String b = a;
me gusta para envolver los tipos primitivos en clases personalizadas mediante una propiedad para realizar el método get
y set
realizar otras cosas, como la validación.
Como hago esto con frecuencia, pensé que sería bueno tener también una sintaxis más simple, como para las primitivas estándar.
Aún así, sospecho que esto no solo no es factible sino que también podría ser un error conceptual. Cualquier idea sería muy bienvenida, gracias.
Esto es exactamente lo que busca el asker. No es exactamente una "primitiva personalizada", pero imita una tan bien como sea posible, y es la forma correcta de hacerlo en C#. – Noldorin
Si lo convierte en una estructura, debe ** completamente ** hacerlo inmutable al mismo tiempo; tener un {get; set;} en una estructura es una muy, muy mala idea. ¿Mencioné la maldad? –
Totalmente de acuerdo, disculpe la confusión. Originalmente, equivocadamente, traté de imitar su ejemplo lo más fielmente posible. –