Hiya,
Please review my namespace and give me some feedback. As always, suggestions, comment, tip, etc. are always
welcome. However, flaming, insults are always taboo. So try to be kind. Thanks. :)
using System;
using System.Runtime;
namespace GarbageCollection
{
interface IgcGet
{
void Get();
}
interface IgcShow
{
void Show();
}
class gcStatus : IgcGet, IgcShow
{
private int gcCollectionCount;
private int gcMaxGen;
private bool gcServer;
private long gcTotalMemory;
private GCLatencyMode gcLatencyMode;
private GCNotificationStatus gcNotifyStatus;
public int CollectionCount { get { return gcCollectionCount; } }
public int MaxGen { get { return gcMaxGen; } }
public bool Server { get { return gcServer; } }
public long TotalMemory { get { return gcTotalMemory; } }
public GCLatencyMode LatencyMode { get { return gcLatencyMode; } }
public void Get()
{
gcMaxGen = GC.MaxGeneration;
gcTotalMemory = GC.GetTotalMemory( true );
gcCollectionCount = GC.CollectionCount( gcMaxGen );
gcServer = GCSettings.IsServerGC;
gcLatencyMode = GCSettings.LatencyMode;
}
public void Show()
{
Console.WriteLine( "*****************************************" );
Console.WriteLine( "* Garbage Collection *" );
Console.WriteLine( "*****************************************" );
Console.WriteLine( " Description Status " );
Console.WriteLine( "-----------------------------------------" );
Console.WriteLine( " Max Generation {0}", gcMaxGen );
Console.WriteLine( " Total Memory KB {0}", gcTotalMemory / 1024 );
Console.WriteLine( " Collection Count {0}", gcCollectionCount );
Console.WriteLine( " Server Enabled {0}", ( gcServer == true ) ? "Yes" : "No" );
Console.WriteLine( " Latency Mode {0}", gcLatencyMode.ToString() );
Console.WriteLine( "*****************************************\r\n" );
}
}
} // end namespaceThe interface Get/Show was pretty fancy, i normally just oldschool it. :)