VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 897|回复: 3

static关键字的疑惑?

[复制链接]

2

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-10 00:30:01 | 显示全部楼层 |阅读模式
我在一个class里面开启一个线程,运行一个函数,如下:
public Thread th = new Thread(new ThreadStart(process));
然后我定义了一个函数process,如下:
static void process()
{       
    this.InstallProcess(this.ApplicateName,this.ApplicateArgument);
    th.Start();
}
问题出现了,我想在process里面调用同在一个class里面的另外的函数InstallProcess,不知道行不,我上边的写法编译不过去,说是不能用关键字this,就这么规定的,我也没办法。我现在想知道,我可不可以在这个静态的函数process里调用installProcess函数,以及可不可以用它外面的变量?不知道我说明白了没有
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-6-2 20:45:01 | 显示全部楼层
静态函数的定意是 不需要生成对象实例 就可以使用的函数
所以 它不持this   应为 this 是对本对象实例的引用

如果要调用本对象中的方法 可以参照 MAIN 函数的写法 生成对象
如:有类 A
A objecta = new A();
objecta.installProcess();

也可以把 installProcess 函数写为静态函数



回复

使用道具 举报

0

主题

14

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-6-4 09:30:01 | 显示全部楼层
楼上的,lz显然是想通过installProcess 来处理对象的值呀,把installProcess 写为静态的话不是一样的问题么?

楼主可以用异步委托试试看,比较简单一点。
回复

使用道具 举报

2

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-6-17 08:15:01 | 显示全部楼层
呵呵,谢谢了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表