将var重置为原始状态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将var重置为原始状态相关的知识,希望对你有一定的参考价值。
不确定如何解释这种情况,所以我将在使用示例的同时尽力而为。
所以我有一个主班,
Main.cs
//Code
class Main
public Run()
while(true)
Minor start = new Minor();
start.Run();
次要班级,
Minor.cs
//Code
class Minor
public Run()
Test.hi += 1;
Console.WriteLine(Test.hi);
测试类,
Test.cs
//Code
class Test
public int hi = 0;
在运行上面的示例时,每个循环都会增加Time.cs中的整数。所以输出将是3次运行。
1
2
3
但是,如果我将public int hi = 0
放置在Minor.cs中,如下所示
Minor.cs
//Code
class Minor
public int hi = 0;
public Run()
hi += 1;
Console.WriteLine(Test.hi);
由于每个循环都会创建一个Minor的新实例,因此输出始终为1
。现在我知道我可以在Test.cs
内简单地创建一个Minor.cs
的新实例,但是我有多个变量/ integers / strings在循环期间被修改,但是在下一个循环中需要为默认值。
是否可以通过编程方式将所有类复位为除Main.cs
之外的默认状态,还是可以将所有其他classes
继承为Minor.cs
,以便在创建Minor.cs
的新实例时,那些实例也是吗?
答案
我可能会误解您的约束,但是如果您想重置一个类中的所有变量,我会考虑向该类添加Reset()
方法,该方法就是这样:将所有属性一一设置为默认值。
另一答案
正如您自己说的那样,解决方案是创建一个新的Test对象。
public Run()
var test = new Test():
Console.WriteLine(Test.hi);// I'm assuming this should be 'test.hi'
以上是关于将var重置为原始状态的主要内容,如果未能解决你的问题,请参考以下文章
Swift - UIBarButtonItem.customView - 重置为原始状态