我怎样才能让在同一个项目中的一个变量访问另一个类? [英] How can I make a variable accessible to another class within the same project?

查看:273
本文介绍了我怎样才能让在同一个项目中的一个变量访问另一个类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个变量( PrincipleIndex )的类( Principles.cs )在一个C#项目( .. \\舷窗\\商务逻辑\\贸易\\原则\\ DATA \\ Principles.cs )。

  INT PrincipleIndex = Principles.Instance.RowIndexToPrincipleIndex(hti.Row);


  1. 原则是Singleton设计模式的类

  2. RowIndexToPrincipleIndex(hti.Row) - 从属性网格取出行

我要让 PrincipleIndex 同C#项目中访问另一个类( TradingCentralForm.cs ),具体在这里:

  principlesList.Select(P => p.GetInstanceForDatabase())其中(P => p.Note == Principles.Instance [PrincipleIndex]。注).ToList( )

然而, PrincipleIndex 未入店那里。

我试图使变量公共 principle.cs ,但它不工作。我怎样才能正确地使访问?


principle.cs:

 内部类原则
{
    #区域Singelton    私人静态只读原则实例;
    公共静态实例原则
    {
        {返回实例; }
    }
    静态的原则()
    {
        例如=新原则();
    }
    私人原则()
    {
        PrincipleIndicesTranslator.SetTranslatorMethod(UniqueName);
    }    #endregion



解决方案

只需添加:

 私人INT principleIndex = 0;公众诠释PrincipleIndex
{
    {返回principleIndex; }
}...
    //这一定是原则类中
    Principles.Instance.principleIndex = Principles.Instance.RowIndexToPrincipleIndex(hti.Row);
...

I have a variable (PrincipleIndex) in a class (Principles.cs) in one C# project (..\Bullseye\Biz Logic\Trading\Principle\Data\Principles.cs).

int PrincipleIndex = Principles.Instance.RowIndexToPrincipleIndex(hti.Row);

  1. Principles is a class with singleton design pattern
  2. RowIndexToPrincipleIndex(hti.Row) - taking out row from a property grid

I want to make PrincipleIndex accessible to another class (TradingCentralForm.cs) within the same C# project, specifically, here:

principlesList.Select(p => p.GetInstanceForDatabase()).Where(p => p.Note == Principles.Instance[PrincipleIndex].Note).ToList()

However, PrincipleIndex is not accesible there.

I tried to make the variable public in principle.cs but it is not working. How can I properly make it accessible?


principle.cs:

internal class Principles
{
    #region Singelton

    private static readonly Principles instance;
    public static Principles Instance
    {
        get { return instance; }
    }
    static Principles()
    {
        instance = new Principles();
    }
    private Principles()
    {
        PrincipleIndicesTranslator.SetTranslatorMethod(UniqueName);
    }

    #endregion


解决方案

Just add:

private int principleIndex = 0;

public int PrincipleIndex 
{
    get { return principleIndex; }
}

...
    // this must be within the Principles class
    Principles.Instance.principleIndex = Principles.Instance.RowIndexToPrincipleIndex(hti.Row);
...

这篇关于我怎样才能让在同一个项目中的一个变量访问另一个类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆