﻿<?xml version="1.0" encoding="utf-8"?><Type Name="IOperationContractGenerationExtension" FullName="System.ServiceModel.Description.IOperationContractGenerationExtension"><TypeSignature Language="C#" Value="public interface IOperationContractGenerationExtension" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IOperationContractGenerationExtension" /><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.IOperationContractGenerationExtension" /> interface on an operation behavior (a <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> type) to enable you to modify the code generated when a contract or endpoint is compiled into code. Typically, a custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> inserts a custom operation behavior into the <see cref="P:System.ServiceModel.Description.OperationDescription.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 an operation.</para></summary></Docs><Members><Member MemberName="GenerateOperation"><MemberSignature Language="C#" Value="public void GenerateOperation (System.ServiceModel.Description.OperationContractGenerationContext context);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GenerateOperation(class System.ServiceModel.Description.OperationContractGenerationContext 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.OperationContractGenerationContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Typically, a custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> inserts a custom operation behavior into the <see cref="P:System.ServiceModel.Description.OperationDescription.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><para>The <see cref="M:System.ServiceModel.Description.IOperationContractGenerationExtension.GenerateOperation(System.ServiceModel.Description.OperationContractGenerationContext)" /> method is called once for each contract.</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 working context that contains the <see cref="N:System.CodeDom" /> types necessary to modify the generated operation.</param></Docs></Member></Members></Type>