﻿<?xml version="1.0" encoding="utf-8"?><Type Name="IServiceContractGenerationExtension" FullName="System.ServiceModel.Description.IServiceContractGenerationExtension"><TypeSignature Language="C#" Value="public interface IServiceContractGenerationExtension" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IServiceContractGenerationExtension" /><AssemblyInfo><AssemblyName>System.ServiceModel</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Interfaces /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Implement the <see cref="T:System.ServiceModel.Description.IServiceContractGenerationExtension" /> interface on a contract behavior (a <see cref="T:System.ServiceModel.Description.IContractBehavior" /> type) to enable you to modify the code generated when a contract or endpoint is compiled into code. </para><para>Typically, a custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> inserts a custom contract behavior into the <see cref="P:System.ServiceModel.Description.ContractDescription.Behaviors" /> collection during the call to <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportContract(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> or <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportEndpoint(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Defines the methods called during contract generation that can be used to modify the generated code for a service contract.</para></summary></Docs><Members><Member MemberName="GenerateContract"><MemberSignature Language="C#" Value="public void GenerateContract (System.ServiceModel.Description.ServiceContractGenerationContext context);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GenerateContract(class System.ServiceModel.Description.ServiceContractGenerationContext context) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="context" Type="System.ServiceModel.Description.ServiceContractGenerationContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="T:System.ServiceModel.Description.ServiceContractGenerationContext" /> to modify the contract, operations, or the <see cref="T:System.ServiceModel.Description.ServiceContractGenerator" /> prior to code generation.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Implement to modify the code document object model prior to the contract generation process.</para></summary><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The code generated context to use to modify the code document prior to generation.</param></Docs></Member></Members></Type>