Compare commits
2 commits
4593ebfcac
...
bf104f717d
Author | SHA1 | Date | |
---|---|---|---|
bf104f717d | |||
4c68613913 |
5 changed files with 31 additions and 39 deletions
2
cscz.sln
2
cscz.sln
|
@ -27,6 +27,6 @@ Global
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(MonoDevelopProperties) = preSolution
|
GlobalSection(MonoDevelopProperties) = preSolution
|
||||||
description = The C# Class Generator.
|
description = The C# Class Generator.
|
||||||
version = 0.4
|
version = 0.5
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
@ -48,21 +48,6 @@ namespace cscz
|
||||||
|
|
||||||
public GenerationMode GenerationMode = GenerationMode.PublicVariables;
|
public GenerationMode GenerationMode = GenerationMode.PublicVariables;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Whether to make data members private and create public properties for them instead of making the
|
|
||||||
/// data members public.
|
|
||||||
/// This is read only. Please refer to GenerationMode in order to change this field.
|
|
||||||
/// </summary>
|
|
||||||
public bool CreateProperties
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (GenerationMode == GenerationMode.PrivateVariablesWithProperties)
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ClassGenerator ()
|
public ClassGenerator ()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -134,26 +119,32 @@ namespace cscz
|
||||||
|
|
||||||
constructorSignature.AppendFormat("{0} in{1}, ", datatypeName, publicDataMemberName);
|
constructorSignature.AppendFormat("{0} in{1}, ", datatypeName, publicDataMemberName);
|
||||||
|
|
||||||
if (CreateProperties)
|
switch(GenerationMode)
|
||||||
{
|
{
|
||||||
// Private data member
|
case GenerationMode.PrivateVariablesWithProperties:
|
||||||
classCode.WriteLine("\tprivate {0} {1};", datatypeName, privateDataMemberName);
|
// Private data member
|
||||||
|
classCode.WriteLine("\tprivate {0} {1};", datatypeName, privateDataMemberName);
|
||||||
|
|
||||||
|
// Public property associated with above private data member
|
||||||
|
properties.WriteLine("\tpublic {0} {1}", datatypeName, publicDataMemberName);
|
||||||
|
properties.WriteLine("\t{");
|
||||||
|
properties.WriteLine("\t\tget {{ return {0}; }}", privateDataMemberName);
|
||||||
|
properties.WriteLine("\t\tset {{ {0} = value; }}", privateDataMemberName);
|
||||||
|
properties.WriteLine("\t}");
|
||||||
|
|
||||||
|
// Constructor body
|
||||||
|
constructorBody.WriteLine("\t\t{0} = in{0};", publicDataMemberName);
|
||||||
|
break;
|
||||||
|
case GenerationMode.PublicAutoProperties:
|
||||||
|
properties.WriteLine("\tpublic {0} {1} {{ get; set; }}", datatypeName, publicDataMemberName);
|
||||||
|
|
||||||
// Public property associated with above private data member
|
constructorBody.WriteLine("\t\t{0} = in{0};", publicDataMemberName);
|
||||||
properties.WriteLine("\tpublic {0} {1}", datatypeName, publicDataMemberName);
|
break;
|
||||||
properties.WriteLine("\t{");
|
case GenerationMode.PublicVariables:
|
||||||
properties.WriteLine("\t\tget {{ return {0}; }}", privateDataMemberName);
|
// Constuctor body
|
||||||
properties.WriteLine("\t\tset {{ {0} = value; }}", privateDataMemberName);
|
classCode.WriteLine("\tpublic {0} {1};", datatypeName, publicDataMemberName);
|
||||||
properties.WriteLine("\t}");
|
constructorBody.WriteLine("\t\t{0} = in{0};", publicDataMemberName);
|
||||||
|
break;
|
||||||
// Constructor body
|
|
||||||
constructorBody.WriteLine("\t\t{0} = in{0};", publicDataMemberName);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Constuctor body
|
|
||||||
classCode.WriteLine("\tpublic {0} {1};", datatypeName, publicDataMemberName);
|
|
||||||
constructorBody.WriteLine("\t\t{0} = in{0};", publicDataMemberName);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,11 @@ Usage:
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
Argument Meaning
|
Argument Meaning
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
--public Causes the parameters of the class to be defined as public data members. This is the default.
|
--public Generates public data members for the class fields. This is the default.
|
||||||
--private Causes the parameters of the class to be defined as private data members with public accessors.
|
--private Generates private data members with public accessors for the class fields.
|
||||||
|
--public-auto Generates public auto properties for the class fields.
|
||||||
|
|
||||||
Note that arguments specified later always override arguments specified earlier.
|
Note that arguments specified later always override arguments specified earlier.
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ using System.Runtime.CompilerServices;
|
||||||
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
||||||
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
||||||
|
|
||||||
[assembly: AssemblyVersion("0.4.*")]
|
[assembly: AssemblyVersion("0.5.*")]
|
||||||
|
|
||||||
// The following attributes are used to specify the signing key for the assembly,
|
// The following attributes are used to specify the signing key for the assembly,
|
||||||
// if desired. See the Mono documentation for more information about signing.
|
// if desired. See the Mono documentation for more information about signing.
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<AssemblyName>cscz</AssemblyName>
|
<AssemblyName>cscz</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||||
<Description>The C# Class Generator.</Description>
|
<Description>The C# Class Generator.</Description>
|
||||||
<ReleaseVersion>0.4</ReleaseVersion>
|
<ReleaseVersion>0.5</ReleaseVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
|
Loading…
Reference in a new issue