using System;
using System.Linq;
class Program
{
static void ShowMethods(Type type) {
foreach (var method in type.GetMethods()) {
var parameterDescriptions = string.Join
(", ", method.GetParameters()
.Select(x => x.ParameterType + " " + x.Name)
.ToArray());
Console.WriteLine("{0} {1}({2})",
method.ReturnType,
method.Name,
parameterDescriptions);
}
}
static void Main() {
ShowMethods(typeof(GC));
}
}
/*
run:
System.Int64 GetAllocatedBytesForCurrentThread()
System.Void AddMemoryPressure(System.Int64 bytesAllocated)
System.Void RemoveMemoryPressure(System.Int64 bytesAllocated)
System.Int32 GetGeneration(System.Object obj)
System.Void Collect(System.Int32 generation)
System.Void Collect()
System.Void Collect(System.Int32 generation, System.GCCollectionMode mode)
System.Void Collect(System.Int32 generation, System.GCCollectionMode mode, System.Boolean blocking)
System.Void Collect(System.Int32 generation, System.GCCollectionMode mode, System.Boolean blocking, System.Boolean compacting)
System.Int32 CollectionCount(System.Int32 generation)
System.Void KeepAlive(System.Object obj)
System.Int32 GetGeneration(System.WeakReference wo)
System.Int32 get_MaxGeneration()
System.Void WaitForPendingFinalizers()
System.Void SuppressFinalize(System.Object obj)
System.Void ReRegisterForFinalize(System.Object obj)
System.Int64 GetTotalMemory(System.Boolean forceFullCollection)
System.Void RegisterForFullGCNotification(System.Int32 maxGenerationThreshold, System.Int32 largeObjectHeapThreshold)
System.Void CancelFullGCNotification()
System.GCNotificationStatus WaitForFullGCApproach()
System.GCNotificationStatus WaitForFullGCApproach(System.Int32 millisecondsTimeout)
System.GCNotificationStatus WaitForFullGCComplete()
System.GCNotificationStatus WaitForFullGCComplete(System.Int32 millisecondsTimeout)
System.Boolean TryStartNoGCRegion(System.Int64 totalSize)
System.Boolean TryStartNoGCRegion(System.Int64 totalSize, System.Int64 lohSize)
System.Boolean TryStartNoGCRegion(System.Int64 totalSize, System.Boolean disallowFullBlockingGC)
System.Boolean TryStartNoGCRegion(System.Int64 totalSize, System.Int64 lohSize, System.Boolean disallowFullBlockingGC)
System.Void EndNoGCRegion()
System.Boolean Equals(System.Object obj)
System.Int32 GetHashCode()
System.Type GetType()
System.String ToString()
*/