Conceptualmente, lo que quiere hacer aquí es de hecho posible dentro de .NET y C#, pero usted está ladrando al árbol equivocado con respecto a la sintaxis. Parece una implicit conversion operator sería la solución aquí,
Ejemplo:
struct Foo
{
public static implicit operator string(Foo value)
{
// Return string that represents the given instance.
}
public static implicit operator Foo(string value)
{
// Return instance of type Foo for given string value.
}
}
Esto le permite asignar y volver cuerdas (o cualquier otro tipo) en/desde los objetos de su tipo personalizado (Foo
aquí) .
var foo = new Foo();
foo = "foobar";
var string = foo; // "foobar"
Los dos operadores de conversión implícitas no tienen que ser simétrica, por supuesto, aunque por lo general es aconsejable.
Nota: También hay operadores de conversión explicit
, pero creo que está más interesado en los operadores implícitos.
No entiendo la pregunta. –
@ John Knoeller: actualizó la pregunta – caesay
Parece que quiere un operador de conversión ... – Shog9