如果我称自己的类为“向量”,我是否会引起问题
本文关键字:是否 问题 向量 自己的 如果 | 更新日期: 2023-09-27 18:30:34
我想构建自己的类Vector
但是C#中已经存在具有该名称的类。无论如何,我可以Vector
命名它还是迟早会遇到问题?
只要它位于另一个命名空间中,就可以使用重复的类名。
所以这很好:
namespace Mine
{
class Vector
{ }
}
请注意,如果要包含自己的 Vector
类和 BCL 类的命名空间,这可能会导致问题。
using Mine;
using System.Windows;
Vector v;
v
的类型现在将不明确,因此您必须提供命名空间:
Mine.Vector v;
这本身不是问题,但是当您混淆事物时,它可能会变得棘手。
只要命名空间与现有的 Vector
类不同就可以了。
假设你有这个类
namespace MyNamespace
{
public class Vector
{
// properties here
}
}
下面介绍了如何区分这两个命名空间
using MyNamespace;
using System.Windows;
public void MyMethod()
{
// this refers to your Vector class
MyNamespace.Vector v1;
// this refers to the existing Vector class from System.Windows namespace
System.Windows.Vector v2;
}
或者您也可以使用别名命名空间
using MyNamespace;
using OriginalNamespace = System.Windows;
public void MyMethod()
{
// this refers to your Vector class
MyNamespace.Vector v1;
// this refers to the existing Vector class from System.Windows namespace
OriginalNamespace.Vector v2;
}