在 using 中放置一个 class name = namespace
Putting a class name = namespace, in using
using BusinessTask = MyProject.WinService.Tasks.Core.BusinessTask;
我从上面了解到BusinessTask class现在可以使用了,但是我想知道可能是什么原因作者没有直接说:
using MyProject.WinService.Tasks.Core;
由于 "Core" 还有许多其他 class,是否可能对该位置的曝光有选择性?
BusinessTask 可能存在于多个命名空间中。为了避免在每个 BusinessTask 用法附近指定完整的命名空间路径,您可以明确地说:
using BusinessTask = MyProject.WinService.Tasks.Core.BusinessTask;
并且编译器会知道,当您使用 BusinessTask 时,它应该从 MyProject.WinService.Tasks.Core 命名空间中获取它。
这是一个很好的例子How to handle same class name in different namespaces?
您可以使用 class 名称别名以避免在另一个导入的同名命名空间中存在 class 时发生名称冲突。即使您简单地将别名命名为与目标 class 相同的名称,它也会告诉编译器每次您在该范围内使用 class 名称时,您指的是您已经别名化的名称.
在此处查看此答案:https://softwareengineering.stackexchange.com/a/170839/144365
我们遇到的一种情况是,我们在两个命名空间中定义了一个 class 名称,我们在同一个 class 中引用它们。所以我们不得不使用 Fully Qualified name,所以代码变成了:
public CompanyName.ProjectName.FeatureName.ClassName SomeMethod(object param1,
object param2, object param3)
{
}
这很不清楚。所以我们将其替换为
using SomeIdentifier = CompanyName.ProjectName.FeatureName;
那么方法就变成了:
public SomeIdentifier.ClassName SomeMethod(object param1, object param2, object param3)
{
}
在此 class 中使用该类型 10 次,在 using 中使用该别名使代码更具可读性。
假设在您的情况下您需要引用定义名为 'Task' 的类型的库。如果您需要在 classing 引用 System.Threading.Tasks
中使用它。您需要使用完全限定名称 System.Threading.Tasks task = ....
或定义别名。
using BusinessTask = MyProject.WinService.Tasks.Core.BusinessTask;
我从上面了解到BusinessTask class现在可以使用了,但是我想知道可能是什么原因作者没有直接说:
using MyProject.WinService.Tasks.Core;
由于 "Core" 还有许多其他 class,是否可能对该位置的曝光有选择性?
BusinessTask 可能存在于多个命名空间中。为了避免在每个 BusinessTask 用法附近指定完整的命名空间路径,您可以明确地说:
using BusinessTask = MyProject.WinService.Tasks.Core.BusinessTask;
并且编译器会知道,当您使用 BusinessTask 时,它应该从 MyProject.WinService.Tasks.Core 命名空间中获取它。
这是一个很好的例子How to handle same class name in different namespaces?
您可以使用 class 名称别名以避免在另一个导入的同名命名空间中存在 class 时发生名称冲突。即使您简单地将别名命名为与目标 class 相同的名称,它也会告诉编译器每次您在该范围内使用 class 名称时,您指的是您已经别名化的名称.
在此处查看此答案:https://softwareengineering.stackexchange.com/a/170839/144365
我们遇到的一种情况是,我们在两个命名空间中定义了一个 class 名称,我们在同一个 class 中引用它们。所以我们不得不使用 Fully Qualified name,所以代码变成了:
public CompanyName.ProjectName.FeatureName.ClassName SomeMethod(object param1,
object param2, object param3)
{
}
这很不清楚。所以我们将其替换为
using SomeIdentifier = CompanyName.ProjectName.FeatureName;
那么方法就变成了:
public SomeIdentifier.ClassName SomeMethod(object param1, object param2, object param3)
{
}
在此 class 中使用该类型 10 次,在 using 中使用该别名使代码更具可读性。
假设在您的情况下您需要引用定义名为 'Task' 的类型的库。如果您需要在 classing 引用 System.Threading.Tasks
中使用它。您需要使用完全限定名称 System.Threading.Tasks task = ....
或定义别名。