'Optional'은 확장명 메서드의 첫 번째 매개 변수에 적용할 수 없습니다.
'Optional'은 확장 메서드의 첫 번째 매개 변수에 적용할 수 없습니다. 첫 번째 매개 변수는 확장할 형식을 지정합니다.
확장 메서드의 첫 번째 매개 변수는 메서드가 확장하는 데이터 형식을 지정합니다. 메서드가 확장되면 첫 번째 매개 변수가 메서드를 호출하는 데이터 형식의 인스턴스에 바인딩됩니다. 따라서 첫 번째 매개 변수는 필수이며 선택 사항이 될 수 없습니다.
이 제한은 첫 번째 매개 변수에만 적용됩니다. 다른 매개 변수는 다른 메서드의 동일한 규칙에 따라 선택 사항이 될 수도 있습니다. 자세한 내용은 Parameter List을 참조하세요.
오류 ID: BC36553
현재 첫 번째 매개 변수에서 확장 중인 데이터 형식을 지정하도록 하려면
Optional
키워드를 제거합니다.현재 첫 번째 매개 변수가 메서드에 대한 표준 매개 변수이고 이 매개 변수에서 확장 중인 데이터 형식을 나타내지 않으려는 경우 첫 번째 매개 변수를 새로 추가합니다.
다음 예제에서 첫 번째 매개 변수는 Print
메서드가 String
데이터 형식을 확장한다는 것을 나타냅니다. 따라서 선택 사항일 수 없습니다.
<Extension()>
Public Sub Print (ByVal str As String)
Console.WriteLine(str)
End Sub
확장 메서드가 다음과 같이 호출되는 경우 메서드의 str
매개 변수는 greeting
를 호출하는 String
의 인스턴스인 Print
에 바인딩됩니다. 컴파일러에서는 greeting
을 확장 메서드 Print
의 인수로 사용합니다.
Dim greeting As String = "Hello"
greeting.Print()
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.