主要区别:
Property的值会存储在硬盘里;
Field的值在关闭文件后清除。
在下面例子中:
1. 创建一个属性 MyPropertyInt
2. 创建一个属性 PE1,并且自动链接到PE1
3. 创建一个字段 MyFieldInt
4. 在OnInitialize事件中增加PE1的 NativeListeners
5. 在OnBlocked中自增,注意,属性的引用需要this.MyPropertyInt.Value
6. 文件不关闭的情况下,属性和字段的值都存在
7. 保存并关闭然后再打开文件,属性的值还在,而字段的值已经清零。
[Auto] public class Cascade_ConveyorScript : NativeObject {
[Auto] SimplePropertyValue<int> MyPropertyInt;
[Auto] PhotoEye PE1;
int MyFieldInt;
public Cascade_ConveyorScript(Visual sender) : base(sender) {}
[Auto] void OnReset(Visual sender) {
print("My property value: " + this.MyPropertyInt);
print("My Field value: " + this.MyFieldInt);
}
[Auto] void OnInitialize(Visual sender)
{
this.PE1.OnBlocked.NativeListeners += OnBlocked_NativeListeners;
}
private void OnBlocked_NativeListeners(PhotoE

本文探讨了Demo3D中Property与Field的主要区别。Property的值会被持久化存储,即使文件关闭后仍能保留,而Field的值在文件关闭后会被清除。通过创建属性和字段并进行实例操作,例如在OnInitialize事件中设置监听,在OnBlocked事件中自增,展示了它们在实际应用中的不同表现。当文件重新打开时,Property的值依然保持,而Field的值重置为零。
最低0.47元/天 解锁文章
735

被折叠的 条评论
为什么被折叠?



