C#: ¿Cómo funciona esto ?: Unidad myUnit=5;
struct typeconverter (2)
Debe proporcionar un operador de conversión implícita de int a Unit, de la siguiente manera:
public struct Unit
{ // the conversion operator...
public static implicit operator Unit(int value)
{
return new Unit(value);
}
// the boring stuff...
private readonly int value;
public int Value { get { return value; } }
public Unit(int value) { this.value = value; }
}
Me di cuenta de que puedes hacer esto en C #:
Unit myUnit = 5;
en lugar de tener que hacer esto:
Unit myUnit = new Unit(5);
¿Alguien sabe cómo puedo lograr esto con mis propias estructuras? Eché un vistazo a la estructura Unit con reflector y me di cuenta de que se estaba utilizando el atributo TypeConverter, pero después de crear un TypeConverter personalizado para mi estructura, no pude conseguir que el compilador permitiera esta conveniente sintaxis.
Debe proporcionar un operador de elenco para la clase que toma un Int32.