implicit (odwołanie w C#)
implicit Zostanie użyte słowo kluczowe, aby zadeklarować operatora konwersji niejawnych typ zdefiniowany przez użytkownika.Pozwala on włączyć konwersje między typ zdefiniowany przez użytkownika i innego typu, jeśli konwersja jest gwarantowane nie może powodować utratę danych.
Przykład
class Digit
{
public Digit(double d) { val = d; }
public double val;
// ...other members
// User-defined conversion from Digit to double
public static implicit operator double(Digit d)
{
return d.val;
}
// User-defined conversion from double to Digit
public static implicit operator Digit(double d)
{
return new Digit(d);
}
}
class Program
{
static void Main(string[] args)
{
Digit dig = new Digit(7);
//This call invokes the implicit "double" operator
double num = dig;
//This call invokes the implicit "Digit" operator
Digit dig2 = 12;
Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val);
Console.ReadLine();
}
}
Dzięki wyeliminowaniu niepotrzebnych poświaty, konwersje niejawne, można poprawić czytelność kodu źródłowego.Jednakże ponieważ konwersje niejawne nie wymagają programistów jawnie oddać z jednego typu do drugiego, należy uważać, aby uniknąć nieoczekiwanych wyników.Ogólnie rzecz biorąc Operatorzy niejawna konwersja powinny nigdy nie generują wyjątki i nigdy nie stracisz informacji tak, aby używane bezpiecznie bez świadomości programmer's.Jeśli operator konwersji nie spełniają tych kryteriów, powinien być oznaczony explicit.Aby uzyskać więcej informacji, zobacz Za pomocą operatory konwersji.
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.
Zobacz też
Zadania
Informacje
Koncepcje
Przewodnik programowania w języku C#