在多项目解决方案中共享变量

时间:2011-07-25 19:48:17

标签: c# .net visual-studio-2010 outlook-addin

我正在使用由3个项目组成的C#在VS2010 for Outlook 2010中创建解决方案。

  • 项目A - B& C依赖于此。它定义了需要从B& B中访问的某些变量/函数。 ç
  • 项目B - 需要从A中读取变量。
  • 项目C - 需要从A
  • 读取变量

我还没有走得太远,因为我似乎无法将A中的变量读入B或C.我已添加A作为B& B的参考。 C,但是将其中一个局部变量分配给A中的值只会导致null(我知道这不是真的)。​​

更多澄清:

这是一组3个Outlook加载项。

  • 项目的加载项A(其他人依赖项目)调用某些函数并将信息提取到B& B中需要的variables中。 C
  • B& C包括一组完整的功能,每个功能都取决于A收集到的信息.B和B的信息需要相同。 C始终是。

2 个答案:

答案 0 :(得分:1)

您可能需要通过一些代码。但无论如何,确保项目A是一个类库。它应该简单:

项目A

namespace A
{
     public class AClass  // note, this is **public**
     {
         // ctor
         public AClass { }
         public void AMethod { }
     } 
}

项目B (以A作为参考)

using A;

namespace B
{
     public class BClass
     {
         // don't actually need "A" qualifier here as we're "using A" above, this is just for clarity
         private A.AClass aClass_ = new A.AClass();

         // ctor
         public BClass()
         {
             aClass_.AMethod();
         }
     }
}

你在项目 C 中有类似的东西。

答案 1 :(得分:0)

始终确保公共方法,属性,字段等名称指示不同的上下文,以避免使用和维护混乱。

例如,具有数十个项目的单个解决方案不应具有名称相同的属性:

项目A:public int ThisValue {get; set;}-> ProjAThisValue 项目B:public int ThisValue {get; set;}-> ProjBThisValue

不这样做会创建引用噩梦。