다음을 통해 공유


x:FactoryMethod 지시문

XAML 프로세서가 지원 형식을 확인한 후 개체를 초기화하는 데 사용해야 하는 생성자 이외의 메서드를 지정합니다.

XAML 특성 사용량, x:Arguments 없음

<object x:FactoryMethod="methodname"...>  
  ...  
</object>  

XAML 특성 사용량, x:Arguments as Element(s)

<object x:FactoryMethod="methodname"...>  
  <x:Arguments>  
    oneOrMoreObjectElements  
  </x:Arguments>  
</object>  

XAML 값

묘사
methodname XAML 프로세서가 object지정된 인스턴스를 초기화하기 위해 호출하는 메서드의 문자열 메서드 이름입니다. 비고를 참조하세요.
oneOrMoreObjectElements 팩터리 메서드 매개 변수를 지정하는 개체에 대한 하나 이상의 개체 요소입니다. 순서가 중요합니다. 인수를 팩터리 메서드에 전달해야 하는 순서를 나타냅니다.

발언

methodname 인스턴스 메서드인 경우 정규화할 수 없습니다.

팩터리 메서드로서의 정적 메서드가 지원됩니다. methodname 정적 메서드인 경우 methodnametypeName.methodName 조합으로 제공됩니다. 여기서 typeName 정적 팩터리 메서드를 정의하는 클래스의 이름을 지정합니다. 매핑된 xmlns의 형식을 참조하는 경우 typeName 접두사로 한정될 수 있습니다. typeName typeof(object)다른 형식일 수 있습니다.

팩터리 메서드는 관련 개체 요소를 백업하는 형식의 선언된 public 메서드여야 합니다.

팩터리 메서드는 관련 개체에 할당할 수 있는 인스턴스를 반환해야 합니다. 팩터리 메서드는 null을 반환해서는 안 됩니다.

x:Arguments 팩터리 메서드의 서명에 가장 적합한 원칙에 따라 작동합니다. 일치는 매개 변수 수를 먼저 평가합니다. 매개 변수 수에 대해 일치하는 항목이 두 개 이상 있는 경우 매개 변수 형식이 평가되고 가장 일치하는 항목이 결정됩니다. 이 평가 단계 이후에도 여전히 모호성이 있는 경우 XAML 프로세서 동작은 정의되지 않습니다.

지시문 태그가 포함하는 개체 요소의 형식을 참조하지 않으므로 x:FactoryMethod 요소 사용은 일반적인 의미에서 속성 요소 사용이 아닙니다. 요소 사용량이 특성 사용량보다 덜 일반적일 것으로 예상됩니다. x:Arguments(특성 또는 요소 사용량)은 x:FactoryMethod 요소 사용과 함께 사용할 수 있지만 사용 현황 섹션에는 특별히 표시되지 않습니다.

요소로 x:FactoryMethod 다른 속성 요소보다 우선해야 하며 요소로 제공된 모든 x:Arguments 선행해야 하며 콘텐츠/내부 텍스트/초기화 텍스트 앞에 와야 합니다.

참고 항목

  • x:arguments 지시문