从这么多年的经验来看,我觉得很奇怪。我在Program和Main方法中的控制台应用程序如下所示。
namespace NRules.Samples.RuleBuilder
{
internal class Program
{
private static void Main(string[] args)
{
var repository = new CustomRuleRepository();
repository.LoadRules();
ISessionFactory factory = repository.Compile();
ISession session = factory.CreateSession();
}
}
}这是整个Program.cs文件的内容。ISessionFactory和ISession位于NRules命名空间中,因此我期待一个using语句,如果没有该语句,就不应该编译。但奇怪的是,这也符合并运行。
我遗漏了什么?因为这里的名称空间是NRules.Samples.RuleBuilder,所以Visual 2013不再需要NRules了吗?另外,当我在接口线上悬停时,工具提示正确地显示了NRules.ISession。

发布于 2015-12-09 00:34:25
您的名称空间NRules.Samples.Rulebuilder实际上是:
namespace NRules
{
namespace Samples
{
namespace Rulebuilder
{
internal class Program {/*...*/}
}
}
}由于您的类位于NRules命名空间中,因此您不需要一个using语句来导入NRules的公共成员。
https://stackoverflow.com/questions/34168722
复制相似问题