public class MyClass
{
private readonly int value;
public MyClass(int value)
{
this.value = value;
}
public static implicit operator MyClass(int value)
{
return new MyClass(value);
}
}
Лично я не большой поклонник неявных преобразований большую часть времени. Иногда они полезны, но тщательно подумайте, прежде чем вставлять их в свой код. Они могут быть довольно запутанными, когда вы читаете код.
С другой стороны, при использовании вдумчиво они могут быть удивительно удобными - я думаю, в частности, о преобразованиях от string до XName и XNamespace в LINQ to XML.
Ответ 2
Вот как:
public class MyClass
{
public static implicit operator MyClass(int i)
{
return new MyClass(i);
}
}