c# - 从同一个类中引用类中的变量

标签 c# class variables static-libraries

我目前第一次需要将我的应用重写到库中。到目前为止我已经成功了,但我需要以某种方式进行自动重复过程,这可以通过简单的 camShield.start() 启动。

但我无法从任何地方引用已启用。这里的想法是我将使用计时器启动线程,这将检查启用的变量。但为此,我需要另一个函数,如 stop(),它将启用的变量设置为 false。

有没有更好的方法来实现这样的功能?
---编辑----
我需要编写函数 CamShield.start() 和 CamShield.stop(),它们将能够访问 CamShield.enabled 变量。

这是我试图解决的部分代码(它是类库)

using SharpAdbClient;
using System;
using System.Diagnostics;
using System.Threading;

namespace BaReader
{
    public class Private
    {
        public class CamShield
        {
            internal bool enabled = true;

            public static void start()
            {
                new Thread(() =>
                {
                    Thread.CurrentThread.IsBackground = true;                        
                    Timer camShieldTimer = new Timer(tap, null, 0, 20000);
                }).Start();
            }
        }

        internal static void tap(Object o)
        {
            AdbClient.Instance.ExecuteRemoteCommand("input tap 600 900", Device.lookup(), null);
            Debug.WriteLine("Tapped");
        }
    }
}

提前感谢您的任何想法。

最佳答案

您已将方法声明为静态的,并且您的变量已启用为非静态的,因此您无法访问它,

    public class CamShield
    {
        internal bool enabled = false;
        public void start()
        {
            if(!enabled)
            {
                enabled = true;
                //your code to start
            }
        }

        public void stop()
        {
            if(enabled)
            {
                //your code to stop
                enabled = false;
            }
        }
    }

我相信您可以实例化 CamShield 类并从外部访问启动和停止方法。

关于c# - 从同一个类中引用类中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51258663/

相关文章:

c++ - 构造函数不一致的多级类继承

.net - 通过访问器或直接访问同一类的属性的最佳方法是什么?

javascript - 是否可以在 ES6 的类中使用箭头函数?

javascript - 使用 jQuery 传递要在参数中执行的函数名称

sql - 将 Datediff 设置为存储过程中的变量

php - 需要远程文件上传帮助

c# - MailChimp Api 3.0 兴趣小组

c# - Entity Framework 中循环引用的 WCF Datacontract 序列化问题

c# - SQL Server密码的保存方法

c# - 找不到与方案 net.tcp 匹配的基址