Chyba kompilátoru CS0218
Typ ('type') musí obsahovat deklarace operátoru true a operátor false.
Pokud uživatelem definovaný typ přetěžuje operátor & nebo | operátor, musí také definovat true a false operátory, aby bylo definováno zkratování &&& nebo || operátor .
Následující ukázka vygeneruje CS0218:
// CS0218.cs
using System;
public class MyClass
{
// uncomment these operator declarations to resolve this CS0218
/*
public static bool operator true (MyClass f)
{
return false;
}
public static bool operator false (MyClass f)
{
return false;
}
*/
public static implicit operator int(MyClass x)
{
return 0;
}
public static MyClass operator & (MyClass f1, MyClass f2)
{
return new MyClass();
}
public static void Main()
{
MyClass f = new MyClass();
int i = f && f; // CS0218, requires operators true and false
}
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: