컴파일러 오류 CS0217
사용자 정의 논리 연산자('operator')를 단락(short circuit) 연산자로 사용하려면 연산자의 두 매개 변수와 같은 형식을 반환해야 합니다.
사용자 정의 형식에 대한 연산자를 정의한 다음 연산자를 단락 연산자로 사용하려면 사용자 정의 연산자에 동일한 형식의 반환 값 및 매개 변수가 있어야 합니다. 단락 연산자에 대한 자세한 내용은 &&
연산자 및 ||
연산자를 참조하세요. 사용자 정의 단락 또는 조건 연산자에 대한 자세한 내용은 C# 언어 사양의 사용자 정의 조건 논리 연산자 섹션을 참조하세요.
다음 샘플에서는 CS0217을 생성합니다.
// CS0217.cs
using System;
public class MyClass
{
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 int operator & (MyClass f1, MyClass f2) // CS0217
// try the following line instead
// public static MyClass operator & (MyClass f1, MyClass f2)
{
return new MyClass();
}
public static void Main()
{
MyClass f = new MyClass();
int i = f && f;
}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.