Inherited Class Skeleton Generator


Inherited Class Skeleton Generator (ICSG) is a handy tool, which can be used to make your programming under .NET  productive. It quickly generates class skeleton with needed members. ICSG is written in C# and  utilizes Reflection and CodeDom namespaces of .NET.

Features of ICSG include:

  • Multiple language support (C#, VB.NET, JScript)
  • Compact interface with class tree view, where you can easily choose which members to implement
  • Different options for code generation, interesting options are: Comments generation, 
      1.
    Usage of short or full type names, 
      2. Mapping of type names to language keywords, 
      3. Options to make members virtual,
      4. and more ..
  • Convenient type selector dialog with tree view of all types in the project or
  • You can quickly type names manually
  • Integration with Visual Studion .NET
  • Easy  integration with other IDEs and editors (just change one class, which gets referenced assemblies)
  • And more ...

Here is ICSG main interface:

And here is type selector dialog:

This screen shot shows how ICSG is integrated with VS.NET - it can be easily accessible in Add New Item dialog:

And here is a sample of  C# code generated by the tool - it is a class that inherits from System.IO.Stream and implements System.Collections.ICollection interface:

namespace SomeNamespace
{
using
System;
using
System.IO;
using
System.Collections;
public class
SampleClass : Stream, ICollection
{
public
SampleClass()
{
}
public override bool
CanRead
{
get
{
return false
;
}
}
public override bool
CanSeek
{
get
{
return false
;
}
}
public override bool
CanWrite
{
get
{
return false
;
}
}
public override long
Length
{
get
{
return
0;
}
}
public override long
Position
{
get
{
return
0;
}
set
{
}
}
public virtual int
Count
{
get
{
return
0;
}
}
public virtual bool
IsSynchronized
{
get
{
return false
;
}
}
public virtual object
SyncRoot
{
get
{
return null
;
}
}
public override void
Flush()
{
}
public override int Read(Byte[] buffer, int offset, int
count)
{
return
0;
}
public override long Seek(long
offset, SeekOrigin origin)
{
return
0;
}
public override void SetLength(long value
)
{
}
public override void Write(Byte[] buffer, int offset, int
count)
{
}
public override void
Close()
{
}
public virtual void CopyTo(Array array, int
index)
{
}
public virtual
IEnumerator GetEnumerator()
{
return null
;
}
}
}

For other details about ICSG tool see its readme file.
To download this tool and its source code go to download page.


Similar Articles