File: System\Runtime\Serialization\Schema\ISerializationCodeDomSurrogateProvider.cs
Web Access
Project: src\src\libraries\System.Runtime.Serialization.Schema\src\System.Runtime.Serialization.Schema.csproj (System.Runtime.Serialization.Schema)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Collections.Generic;
 
namespace System.Runtime.Serialization
{
    /// <summary>
    /// Represents a DataContract surrogate provider that is capable of modifying generated type code using <see cref="System.CodeDom"/>.
    /// </summary>
    public interface ISerializationCodeDomSurrogateProvider
    {
        /// <summary>
        /// Processes the type that has been generated from the imported schema.
        /// </summary>
        /// <param name="typeDeclaration">A <see cref="CodeTypeDeclaration"/> to process that represents the type declaration generated during schema import.</param>
        /// <param name="compileUnit">The <see cref="CodeCompileUnit"/> that contains the other code generated during schema import.</param>
        /// <returns>A <see cref="CodeTypeDeclaration"/> that contains the processed type.</returns>
        CodeTypeDeclaration ProcessImportedType(CodeTypeDeclaration typeDeclaration, CodeCompileUnit compileUnit);
    }
}