PageTypeBuilder.Specs.Helpers.AssemblyDefinitionExtensions.TinyMceSettingsAttribute C# (CSharp) Метод

TinyMceSettingsAttribute() публичный статический Метод

public static TinyMceSettingsAttribute ( this assembly, string updateSettingsImplementation, string matchMethodBody, string className = "TinyMceSettingsAttribute", bool overwriteExistingSettings = true ) : CodeTypeDeclaration
assembly this
updateSettingsImplementation string
matchMethodBody string
className string
overwriteExistingSettings bool
Результат System.CodeDom.CodeTypeDeclaration
        public static CodeTypeDeclaration TinyMceSettingsAttribute(
            this AssemblyDefinition assembly,
            string updateSettingsImplementation,
            string matchMethodBody,
            string className = "TinyMceSettingsAttribute",
            bool overwriteExistingSettings = true)
        {
            var type = assembly.Class(className)
                .Inheriting<Attribute>()
                .Implementing<IUpdatePropertySettings<TinyMCESettings>>()
                .PublicMethod(x =>
                        x.Named("UpdateSettings")
                            .Parameter<TinyMCESettings>("settings")
                            .Body(updateSettingsImplementation))
                .PublicMethod<bool>(x =>
                              x.Named("MatchesUpdatedSettings")
                                  .Parameter<TinyMCESettings>("settings")
                                  .Body(matchMethodBody))
                .PublicMethod<int>(x =>
                             x.Named("GetSettingsHashCode")
                                 .Parameter<TinyMCESettings>("settings")
                                 .Body("return settings.Width;"))
                .Property<bool>(x =>
                                x.Named("OverWriteExistingSettings")
                                    .Returning(overwriteExistingSettings));

            return type;
        }
    }