Je reçois une erreur de compilation parce que le compilateur pense que Path.Combine fait référence à mon champ, mais je veux qu'il fasse référence à la classe System.IO.Path. Existe-t-il un bon moyen de gérer cela autre que d'avoir toujours à écrire le FQN comme System.IO.Path.Combine()?C#: propriété/champ ambiguites de l'espace de noms
using System.IO;
class Foo
{
public string Path;
void Bar(){ Path.Combine("",""); } // compile error here
}
Je modifiais ma réponse pour ajouter cet exemple mais vous l'avez déjà +1! –
Ceci est une bonne réponse; cependant, j'inciterais la plupart des gens à éviter, autant que possible, d'utiliser des noms qui sont clairement en conflit avec les types de framework .NET. Un nom comme FilePath ou DataPath, ou quelque chose de ce genre, peut être un meilleur moyen de désambiguïser la propriété tout en ajoutant de la clarté. Cependant, je pense que c'est un de ces cas, où le nom de la classe Path était probablement un mauvais choix de la part des concepteurs .NET, car c'est un nom commun et utile pour les propriétés. – LBushkin
Ou évitez complètement les alias, surtout s'il s'agit d'un conflit ponctuel. –