Cette question est par curiosité. Y a-t-il une différence entre:
public abstract class MyClass
{
public MyClass()
{
}
}
et
public abstract class MyClass
{
protected MyClass()
{
}
}
Merci.
Cette question est par curiosité. Y a-t-il une différence entre:
public abstract class MyClass
{
public MyClass()
{
}
}
et
public abstract class MyClass
{
protected MyClass()
{
}
}
Merci.
Ils sont les mêmes à toutes fins pratiques.
Mais puisque vous avez demandé des différences, une différence à laquelle je peux penser est que si vous recherchez le constructeur de la classe en utilisant la réflexion, les BindingFlags qui correspondent seront différents.
BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;
var constructor = typeof(MyClass).GetConstructor(flags, null, new Type[0], null);
Cela trouvera le constructeur dans un cas, mais pas dans l'autre.
Vous ne devriez pas avoir de constructeur public dans une classe abstraite Les constructeurs sur les types abstraits ne peuvent être appelés que par des types dérivés. Étant donné que les constructeurs publics créent des instances d'un type et que vous ne pouvez pas créer d'instances d'un type abstrait, un type abstrait avec un constructeur public est mal conçu.
jetez un oeil ici pour plus de détails http://msdn.microsoft.com/en-us/library/ms182126.aspx
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.