Ok, je balayais par certains hier code et j'ai vu cela,De retour type incorrect d'une fonction
code:
public class MyBaseClass
{
public string Field0()
{
return string.Empty;
}
}
public class MyClass : MyBaseClass
{
public string Field1()
{
return String.Empty;
}
}
rien à redire assez simple. Dans le code principal,
code:
private void Form1_Load(object sender, EventArgs e)
{
}
private MyBaseClass GetSomthing()
{
var retVal = new MyClass();
return retVal;
}
maintenant ce code compile correctement, même si GetSomthing() fonction a un type de retour de MyBaseClass, il permet en fait le retour de MyClass (je suppose que cela est dû de l'héritage).
J'ai repéré cela dans un code somone elses et pour moi cela me semble une mauvaise pratique, bien que je puisse manquer quelque chose, quelqu'un a des idées?