У меня есть псевдоним в моем файле исходного кода, например:
MyClass.cs
using System;
using SomeClass = NewClass;
public class Program
{
public static void Main()
{
Console.WriteLine(nameof(SomeClass));
}
}
public class NewClass { }
Мне это нужно, потому что имена моих классов изменились, и теперь мне нужно одновременно скомпилировать как старую, так и новую структуру классов.
Когда я запускаю этот код, я получаю "SomeClass"
, но я ожидал "NewClass"
. Почему в этом случае nameof
не отражает псевдоним, использующий директиву using
?
SomeClass
, как иNewClass
. - person Damien_The_Unbeliever   schedule 05.02.2021string str1 = nameof(System)
работает, поэтомуnameof
работает даже с такими вещами, как пространства имен, аusing K = System; string str2 = nameof(K)
вернетK
. - person xanatos   schedule 05.02.2021nameof
. Однако кажется, что вместо этого я вызываю их. - person HimBromBeere   schedule 05.02.2021