У меня есть простой сценарий, который может быть или не быть возможным. У меня есть класс, содержащий целое число, для этого я сделаю его максимально простым:
public class Number
{
public int Value {get; set;}
public string Name {get; set;}
}
public static void Print(int print)
{
Console.WriteLine(print);
}
public static string Test()
{
Number num = new Number (9, "Nine");
Print(num); //num "overloads" by passing its integer Value to Print.
}
// Result
// 9
Как заставить функцию Test()
работать так, как я ее закодировал? Это вообще возможно? Я думаю, что это можно сделать с помощью явного/неявного оператора, но я не могу этого понять.
implicit
, но почему так важно, чтобы ваш класс можно было неявно привести к целому числу? Просто передатьnum.Value
кажется гораздо лучшим решением. - person zneak   schedule 21.02.2011