/// <summary> /// Verifies that the specified class is static. /// </summary> /// <param name="type">the type of class.</param> /// <param name="visibility">the expected visibility of the class.</param> public static void IsStatic( Type type, ClassVisibility visibility ) { bool isStatic = type.IsAbstract && type.IsSealed; Assert.IsTrue( isStatic ); ConstructorInfo[] ctors = type.GetConstructors( BindingFlags.Public ); Assert.AreEqual( 0, ctors.Length ); AssertType.Visibility( type, visibility ); }
private static string VisibilityParse(ClassVisibility visibility) { switch (visibility) { case ClassVisibility.PublicStatic: return("public static"); case ClassVisibility.InternalStatic: return("internal static"); case ClassVisibility.Private: case ClassVisibility.Public: case ClassVisibility.Internal: default: return(visibility.ToString().ToLower()); } }
internal static StringBuilderIndented InterfaceInit(this StringBuilderIndented builder, string interfaceName, string parent, string nameSpace, ClassVisibility visibility, bool partial, params string[] usings) { return(builder .AddUsing(usings) .AppendLine() .AppendLine($"namespace {nameSpace}") .AppendLine("{") .IncrementIndent() .Append(VisibilityParse(visibility)) .Append(" interface ") .Append(interfaceName) .Append(parent.IsNotEmpty() ? $": {parent}" : string.Empty) .AppendLine() .AppendLine("{") .IncrementIndent()); }
internal static StringBuilderIndented ClassInit(this StringBuilderIndented builder, string className, string parent, string nameSpace, ClassVisibility visibily, params string[] usings) { return(builder .ClassInit(className, parent, nameSpace, visibily, false, usings)); }
internal static void Visibility( Type type, ClassVisibility visibility ) { switch( visibility ) { case ClassVisibility.Public: IsPublic( type ); break; case ClassVisibility.Internal: IsInternal( type ); break; default: throw new NotImplementedException(); } }