"程序"是我的域名中的一个词。我的域模型有一个名为Program
的类。如果我在代码中使用MyNamespace.Program
并且没有通过Program
完全限定它,那么MyNamespace.Areas.SomeArea.Data.Program
条目类就会被接收。困扰我的部分是,这可能导致应用程序编译,然后在运行时出错。
我对使我无法编译将在运行时异常的应用程序的解决方案感兴趣。我想到的最佳解决方案是将MyNamespace.Program条目类重命名为其他类。
附录:
这个问题的原始标题是"我可以将.NET核心课程命名为其他内容吗?#34;。不幸的是,这导致了多次下来的投票,并且一些出人意料的回应我认为是一个简单的问题。因此,我没有回答这个问题,而是将这个问题改写为对我具体问题的描述,希望它对将来偶然发现它的人更有帮助。
答案 0 :(得分:3)
是的,你可以。
但是,您可以更改的是Main方法名称(和签名,在某种程度上)。此外,如果您在不同的类中有两个Main方法,那么您必须告诉编译器哪个是您的应用程序的入口点。
答案 1 :(得分:2)
如果正确声明命名空间,则不应该遇到任何此类问题。
using MyNamespace;
using MyNamespace.Domain;
namespace MyNamespace.Data
{
public class MyDbContext : DbContext { }
}
这可能会使编译器感到困惑,因为Programm
可能会在MyNamespace
和MyNamespace.Domain
中定义。
using MyNamespace;
namespace MyNamespace.Data
{
using MyNamespace.Domain;
// or alternatively, because Domain is part of MyNamespace
using Domain;
public class MyDbContext : DbContext { }
}
后者不应该引起任何混淆问题,因为如果你有不明确/冲突的名字,编译器将从内部使用它,如果它没有在那里找到它,看看外面usings。
Program
听起来不是域名模型的好名字,App
/ Application
(软件)或Broadcast
(电视)等imho