如果我称自己的类为“向量”,我是否会引起问题

本文关键字:是否 问题 向量 自己的 如果 | 更新日期: 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;
}