C# 从另一个命名空间引用字典的存储值

C# 从另一个命名空间引用字典的存储值,c#,.net,dictionary,namespaces,C#,.net,Dictionary,Namespaces,我正在将术语存储到一个有点复杂(至少对我来说)的字典中,类型如下: Dictionary<string, Term> 字典 其中“Term”是我用“事件”列表定义的类,如下面的代码所示 Dictionary<string, Term> namespace SomeNameSpace { public class Occurence { public int docID { get; set; } publi

我正在将术语存储到一个有点复杂(至少对我来说)的字典中,类型如下:

Dictionary<string, Term>  
字典
其中“Term”是我用“事件”列表定义的类,如下面的代码所示

Dictionary<string, Term>  
 namespace SomeNameSpace
 {
    public class Occurence
    {
        public int docID { get; set; }
        public int termOcc { get; set; }
    }

    public class Term
    {
        public int numbOfDocuments { get; set; }
        public int lastDocAdd { get; set; }
        public int termCount { get; set; }

        public List<Occurence> docOccurances = new List<Occurence>();
    }

    public class TermDictionary
    {
        public Dictionary<string, Term> termOccurence = new Dictionary<string, Term>();
    }

    public static void SomeMethod()
    {
        TermDictionary TermDictionary = new TermDictionary();
 .
 .
 .
名称空间
{
公共类事件
{
公共int docID{get;set;}
公共int-termOcc{get;set;}
}
公共类术语
{
公共文档{get;set;}
public int lastDocAdd{get;set;}
公共int termCount{get;set;}
public List dococcurrences=新列表();
}
公共类术语词典
{
公共字典术语Occurrence=新字典();
}
公共静态方法()
{
TermDictionary=新的TermDictionary();
.
.
.
当void函数“SomeMethod”完成时,返回到调用的名称空间,该名称空间不是“SomeNameSpace”,而是其他名称空间

Dictionary<string, Term>  
我想在另一个名称空间中使用字典中存储的值,以便根据用户输入的查询访问字典

Dictionary<string, Term>  

是否有一种方法可以使此字典中的数据保持不变,以便我可以从另一个命名空间访问它?或者可能有一种方法可以将字典传递到另一个命名空间,以便我可以在那里使用它?

命名空间在这里不太相关。您应该考虑的实际边界是类边界。我如何获得信息“我的类”名称空间只是将志同道合的类标记在一起的一种逻辑方式

Dictionary<string, Term>  

也就是说,返回字典是实现所需功能的一种粗略方式。但这里的问题是,它是您的内部状态,另一个类可以更改它。因此,要么将其作为只读字典发送,要么将其包装在一个小服务接口中,该接口仅公开一个查找方法来隐藏内部内容—字典本身在这种情况下。

我不知道是什么阻止了你这么做。
SomeMethod
如何“返回”新对象?调用
SomeMethod
的代码如何尝试使用该对象?错误在哪里?我很困惑-什么是“返回调用的命名空间”?您的方法不会返回任何内容或设置任何类成员(构造函数也不会)。您希望发生什么?不是调用方法,而是属于类的方法(属于命名空间,但只是为了避免类名冲突)正在调用其他方法并使用返回值。此外,您的方法
SomeMethod
不能在任何类之外。您在类中有此方法,对吗?您可以使用静态类来调用静态方法。对于任何混淆,抱歉,此方法是从另一命名空间中的另一个方法调用的。此方法可以执行很多操作我实际上正在将字典数据打印到一个输出文件中,但之后我想从另一个名称空间再次访问字典的值。为了简化我的问题,我省略了很多代码。以一种愉快的方式发送它是我试图解决的问题。我如何做到这一点his?如果另一个名称空间中的类要使用上面的一个类,则需要添加一个using指令,该指令的名称空间如下:using SomeNamespace;名称空间为编译器提供有关在何处查找代码中使用的类型的线索。
Dictionary<string, Term>