C #: неоднозначности пространства имен свойств / полей - PullRequest
1 голос
/ 22 июня 2009

Я получаю ошибку компиляции, поскольку компилятор считает, что Path.Combine ссылается на мое поле, но я хочу, чтобы он ссылался на класс System.IO.Path. Есть ли хороший способ справиться с этим, кроме необходимости всегда писать FQN, такой как System.IO.Path.Combine ()?

using System.IO;

class Foo
{
   public string Path;

   void Bar(){ Path.Combine("",""); } // compile error here
}

Ответы [ 2 ]

5 голосов
/ 22 июня 2009

Вы можете сделать это:

using IOPath = System.IO.Path;

Тогда в вашем коде:

class Foo
{
   public string Path;

   void Bar(){ IOPath.Combine("",""); } // compile error here
}
3 голосов
/ 22 июня 2009

Разделите ваши ссылки:

this.Path = System.IO.Path.PathFunction();

Я бы настоятельно рекомендовал подразумевать пространство имен System.IO при использовании Path где-либо внутри этого класса, потому что очень трудно определить разницу. Используя это. квалификатор и полное пространство имен выделяют их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...