.NET frameworks is nice indeed. I like it, and I am a Delphi "integralist".
Unfortunately, someone in MS decided that interface name prefix 'I' is good
but class name prefix ('T' or 'C') it is not. This decreases immensely code
clarity.
C# chaps have a case-sensitive solution: they uncapitalize the instance
names, e.g. graphics = new Graphics
Very readable indeed! Not to mention the problem if the instance is visible
outside the assembly (.NET in general is NOT case-sensitive).
Delphi would have the solution: type equivalence, e.g.

type
  TGraphics = System.Drawing.Graphics;
var
  Graphics: TGraphics;

but manually rename all framerwork types is not an option.
Fortunately, using reflection it is quite easy to develop a tool that
inspects an assembly and generate the type definitions automatically.


PrefixIt! Basic usage.

1. Load an assembly, lists of namespaces and types are presented.
2. Sometimes MS dispersed a namespace over different assemblies. Merge
   these assemblies with the first one. It is also possibile to merge
   automatically all assemblies in a folder (this operation may take
   a very long time).
3. Unckeck any namespace and or type that you want to exclude from the
   elaboration (default configuration is a sensible starting point).
4. Generate the type definition units. For any namespace <N> an <N>.T.pas
   unit is generated.
5. Copy the generated units where your project can find them (that is
   a path included in Project - Options - Directories/Conditionals -
   Search Path).
6. Inside your units add to uses referring namespace <N> uses referring
   namespace <N>.T (uses referring namespace <N> may still be necessary to
   get access to interfaces and for the code generated by the form designer).
   System namespace is implied, so you have only to add a uses to System.T
7. Now inside your units you can use the 'T' prefixed names.


PrefixIt! More info

Default behaviour of PrefixIt! is a below.
 a. Prefix normal class names with prefix 'T'
 b. Prefix exception class names with prefix 'E' and remove the
    'Exception' postfix if present
 c. For COM classes inside interop assembly remove the 'Class' postfix if
    present
 d. Prefix value type but enumerated (record) names with prefix 'R'
 e. Prefix enumerated type names with prefix 'T'
 f. Generate units named <N>.T
The prefixes can be changed and point b and c can be disabled using
Options dialog. If class prefix is set to '' generated units are
named <N>.P
Using options/tweak dialogs it is also possible to set a special
prefix / name for selected namespace / type.
Options include also the namespaces and types that must not be included
in the generated units and are saved in PrefixIt.xml file inside the
program directory. The default for it is as below.

<?xml version="1.0"?>
<TOptions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ClassPrefix>T</ClassPrefix>
  <RecordPrefix>R</RecordPrefix>
  <EnumeratedPrefix>T</EnumeratedPrefix>
  <ExceptionPrefix>E</ExceptionPrefix>
  <RemoveExceptionPostfix>true</RemoveExceptionPostfix>
  <RemoveClassPostfix>true</RemoveClassPostfix>
  <FullOptionsInUnits>false</FullOptionsInUnits>
  <KnownTypes>
    <anyType xsi:type="TKnownType">
      <NETName>System.Object</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Void</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.__ComObject</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.String</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Decimal</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Exception</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownType">
      <NETName>System.Guid</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>
  </KnownTypes>
  <KnownNamespaces>
    <anyType xsi:type="TKnownNamespace">
      <Name>AXLib</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>DATALib</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>OLE32Lib</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>SHDocVw</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.com.ILWrappers</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.com.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.com</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.dll</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.jdbc.odbc</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.lang</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.util.InputMethod</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.beans.editors</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.com</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.cor</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.debug</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.lang</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.object</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.security</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.struct</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.text</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.vjsharp.win32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.app</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ax.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ax</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.core</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.adodb.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.adodb</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.dsl.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.dsl</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.rds.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.rds</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.data.ui</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.event</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.shdocvw.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.shdocvw</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html.om.shdocvw.WebBrowser</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.html</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.io</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ole32.JCW</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ole32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.ui</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.wfc.win32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>com.ms.win32</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.applet</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt.datatransfer</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt.event</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt.image</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.awt</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.beans</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.io</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.lang.reflect</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.lang</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.math</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.net</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.security.acl</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.security</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.sql</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.text</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.util</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>java.util.zip</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.CSharp</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.IE</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.JScript</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.JScript.Vsa</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualBasic.CompilerServices</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualBasic</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualBasic.Vsa</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VisualC</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.VJSharp</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.Vsa</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft.Vsa.Vb.CodeDOM</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
    <anyType xsi:type="TKnownNamespace">
      <Name>Microsoft_VsaVb</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>
  </KnownNamespaces>
</TOptions>

Excluded types correspond to nodes with this format.

    <anyType xsi:type="TKnownType">
      <NETName>[full .NET name]</NETName>
      <DelphiName />
      <Exclude>true</Exclude>
    </anyType>

Types with custom names correspond to nodes with this format.

    <anyType xsi:type="TKnownType">
      <NETName>[full .NET name]</NETName>
      <DelphiName>[custom name]</DelphiName>
      <Exclude>false</Exclude>
    </anyType>

Excluded namespaces correspond to nodes with this format.

    <anyType xsi:type="TKnownNamespace">
      <Name>[full .NET name]</Name>
      <Prefix />
      <Exclude>true</Exclude>
    </anyType>

Namespaces with custom prefixes correspond to nodes with this format.

    <anyType xsi:type="TKnownNamespace">
      <Name>[full .NET name]</Name>
      <Prefix>[custom prefix]</Prefix>
      <Exclude>false</Exclude>
    </anyType>

This application was generated and tested using Borland Developer Studio
V 9.0.1761.24408 under Windows 2000 SP4, .NET 1.1 SP1
Generated unit are compatible with both D9/2005 and D8.
This application uses SandBar (SandBar Copyright (c) 2004 by Tim Dawson,
http://www.divil.co.uk/net/)








