Class.Class vs Namespace.Class para bibliotecas de classes de uso geral de nível superior?
Qual é o mais aceitável (prática recomendada) ?:
namespace NP
public static class IO
public static class Xml
...
// extension methods
using NP;
IO.GetAvailableResources ();
vs
public static class NP
public static class IO
public static class Xml
...
// extension methods
NP.IO.GetAvailableResources ();
Também para#2
, o tamanho do código é gerenciado tendo classes parciais para que cada classe aninhada possa estar em um arquivo separado, o mesmo para métodos de extensão (exceto que não há classe aninhada para eles)
eu prefiro#2
, por alguns motivos, como poder usar nomes de tipos que já são comumente usados, comoIO
, que não quero substituir ou colidir.
Qual você prefere? Quaisquer prós e contras de cada um? Qual é a melhor prática para este caso?
EDIT: Também haveria uma diferença de desempenho entre os dois?