x:FactoryMethod 지시문
XAML 프로세서가 지원 형식을 확인한 후 개체를 초기화하는 데 사용해야 하는 생성자 이외의 메서드를 지정합니다.
XAML 특성 사용, x:Arguments 없음
<object x:FactoryMethod="methodname"...>
...
</object>
XAML 특성 사용, 요소로서의 x:Arguments
<object x:FactoryMethod="methodname"...>
<x:Arguments>
oneOrMoreObjectElements
</x:Arguments>
</object>
XAML 값
값 | 설명 |
---|---|
methodname |
XAML 프로세서가 object 로 지정된 인스턴스를 초기화하기 위해 호출하는 메서드의 문자열 메서드 이름입니다. 설명 부분을 참조하세요. |
oneOrMoreObjectElements |
팩터리 메서드 매개 변수를 지정하는 개체에 대한 하나 이상의 개체 요소입니다. 순서가 중요합니다. 인수를 팩터리 메서드에 전달해야 하는 순서를 나타냅니다. |
설명
methodname
이 인스턴스 메서드인 경우 정규화할 수 없습니다.
팩터리 메서드로서의 정적 메서드가 지원됩니다. methodname
이 정적 메서드인 경우 methodname
은 typeName.methodName
조합으로 제공되며, 여기서 typeName
은 정적 팩터리 메서드를 정의하는 클래스의 이름을 지정합니다. typeName
은 매핑된 xmlns의 형식을 참조하는 경우 접두사로 한정될 수 있습니다. typeName
은 typeof(object)
와 다른 형식일 수 있습니다.
팩터리 메서드는 관련 개체 요소를 백업하는 형식의 선언된 public 메서드여야 합니다.
팩터리 메서드는 관련 개체에 할당할 수 있는 인스턴스를 반환해야 합니다. 팩터리 메서드는 null을 반환해서는 안 됩니다.
x:Arguments
는 팩터리 메서드의 서명에 가장 적합한 원칙에 따라 작동합니다. 일치는 매개 변수 수를 먼저 평가합니다. 매개 변수 수에 대해 일치하는 항목이 두 개 이상 있는 경우 매개 변수 형식이 평가되고 가장 일치하는 항목이 결정됩니다. 이 평가 단계 후에도 여전히 모호성이 있는 경우 XAML 프로세서 동작은 정의되지 않습니다.
지시문 태그가 포함하는 개체 요소의 형식을 참조하지 않으므로 x:FactoryMethod
요소 사용은 일반적인 의미에서 속성 요소 사용이 아닙니다. 요소 사용은 특성 사용보다 덜 일반적일 것으로 예상됩니다. x:Arguments
(특성 또는 요소 사용)는 x:FactoryMethod
요소 사용과 함께 사용할 수 있지만 사용 섹션에 특별히 표시되지는 않습니다.
x:FactoryMethod
는 요소로서 다른 속성 요소보다 선행되어야 하며, 요소로 제공된 x:Arguments
보다 선행되어야 하고, 콘텐츠/내부 텍스트/초기화 텍스트보다 선행되어야 합니다.
참고 항목
.NET Desktop feedback