【发布时间】:2020-08-18 15:04:38
【问题描述】:
所以我制作了一个 .dll 并将其添加到我的项目中,一切正常,但是当我尝试使用我的 .dll 中的任何类时。我必须专门使用 namespace.classname 而不是只能说 Classname 即使我放在项目的顶部
使用命名空间
using System;
using MyTestClassLibrary;
using System.IO;
using YangHandler;
namespace UsingMyclassdll
{
class Program
{
static void Main(string[] args)
{
YangHandler.YangHandler yangh = YangHandler.YangHandler.Parse("Rawtext");
Console.ReadKey();
}
}
}
在使用Yanghandler visual studio的线上说
不需要使用指令
这不正是 using 用来使用其他命名空间的吗?
YangHandler 代码
using System;
using System.IO;
namespace YangHandler
{
public class YangHandler
{
public string YangAsRawText { get; private set; }
public static YangHandler Parse(string YangAsRawText)
{
YangHandler handlerToReturn = new YangHandler();
handlerToReturn.YangAsRawText = YangAsRawText;
return handlerToReturn;
}
我知道可以通过使用命名空间“UsingMyclassdll”下的命名空间别名来解决,比如
使用 YangHandler = YangHandler.YangHandler;
但是没有更正常的解决方案吗?
【问题讨论】:
-
使用命名空间名 = 类名是不好的做法。
-
删除
using YangHandler;或YangHandler.?或者更改YangHandler类或YangHandler命名空间的名称。 -
你为什么要这样做?正常的解决方案是使用命名空间...
-
没有与您的类同名的命名空间。然后你可以利用
using结构。