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.