To use the 'I' prefix for interfaces or not to
<p>That is the question? So how big a sin is it not to use this convention when developing a c# project? This convention is widely used in the .NET class library. However, I am not a fan to say the least, not just for asthetic reasons but I don't think it makes any contribution. For example is IPSec an interface of PSec? Is IIOPConnection An interface of IOPConnection, I usually go to the definition to find out anyway. </p>

<ul>
<li>So would not using this convention cause confusion?</li>
<li>Are there any c# projects or libraries of note that drop this convention?</li>
<li>Do any c# projects that mix conventions, as unfortunately Apache Wicket does?</li>
</ul>

<p>The Java class libraries have existed without this for many years, I don't feel I have ever struggled to read code without it. Also, should the interface not be the most primitive description? I mean IList&lt;T&gt; as an interface for List&lt;T&gt; in c#, is it not better to have List&lt;T&gt; and LinkedList&lt;T&gt; or ArrayList&lt;T&gt; or even CopyOnWriteArrayList&lt;T&gt;? The classes describe the implementation? I think I get more information here, than I do from List&lt;T&gt; in c#.</p>
