영어로 읽기

다음을 통해 공유


컴파일러 오류 CS0218

'type' 형식에는 true 및 false 연산자 선언이 있어야 합니다.

사용자 정의 형식이 & 연산자 또는 | 연산자를 오버로드하는 경우 단락 && 연산자 또는 || 연산자가 정의되도록 true 및 false 연산자도 정의해야 합니다.

다음 샘플에서는 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  
   }  
}  

참고 항목