Hoe bepaal ik de WCF-naamruimte van een PropertyInfo?

Ik schrijf een implementatie van IWsdlExportExtension en ik heb een lijst met PropertyInfo -instanties verzameld waarvoor de bijbehorende XSD-verklaringen moeten worden gewijzigd. Om dit te doen, moet ik hun XML-naamruimte bepalen.

Ik begrijp dat het niet voldoende is om naar de DataMemberAttribute te kijken. Is er een ingebouwde methode in de WCF-bibliotheken die die informatie kan bieden? Anders zou het algoritme eruit zien om dit te bepalen?

2

1 antwoord

Ik geloof dat wat u wilt een exemplaar krijgt van de Contractbeschrijving . Deze klasse heeft een eigenschap namespace .

U kunt een exemplaar van deze klasse ophalen met een van de GetContract -methoden. Ze hebben een parameter Type. Dus in jouw geval zou je dit soort oproepen kunnen gebruiken:

string myNamespace = ContractDescription.GetContract(
          typeof(IMyService),
          myPropertyInfo.DeclaringType).Namespace;

OPMERKING: u heeft ook het contracttype nodig (in dit voorbeeld vertegenwoordigd door typeof (IMyService) )

0
toegevoegd