我目前正在为游戏开发自定义UI引擎。我有非常基本的C#技能(我通过交易我是一名C程序员)而且我在弄清楚如何将UI元素与它所代表的数据联系起来时遇到了问题。这就是我的意思:
class SomeClass
{
//some stuff
//This is what I want to monitor and/or modify.
private SomeType _myVariable;
}
...别处
class UITextboxWidget
{
//methods and stuff
}
现在,我想要的是当用户在文本框中更改值时修改_myVariable
元素,反之亦然。
我首先尝试通过调用MyClass
构造函数中的方法并通过引用在_myVariable
上传递属性来尝试,但我很快发现这在C#中是不可能的。
然后我看了一下属性并发现你可以创建新属性:这就是我想到的。
class MyClass
{
[TextBoxAttribute(some, parameters)]
private SomeType _myVariable;
}
这会使嵌入UI系统非常容易,但我不确定是否可以这种方式使用属性。
所以,简单地说: