如何在RealBasic上实现内省



RealBasic的Introspection有点不同于我的预期。

我的意图是:

创建一个MainObject,其他对象将从它继承两个或三个方法,以简化。

Method 1-> Returns to the child class itself all of its properties, types and values.

Method 2-> Would call Method1 and with the information, save the child Object.

所以,对于方法1,我想写一个广义的自省,每个子类都可以很容易地返回我需要的方法2来完成它的工作。

为什么我想要这个?这样我就可以有几十个对象知道如何保存,如何绘制它们自己而不用担心这里或那里的属性修改等等。

但是使用什么RealBasic教程和参考提供不工作,因为它需要我有它发生在对象之外等…也就是说,我可以很容易地在ObjectA中获取ObjectB的属性,方法等,但我想在ObjectA中获取A的属性,而不是B的

我已经发现如何…非常简单,创建MainClass并在其内部创建一个简单的方法WhoAmI,该方法可以返回数组,字典等…

  Dim thisClassTypeInfo As Introspection.TypeInfo = Introspection.GetType(Self)
  Dim thisClassProperties() As Introspection.PropertyInfo = thisClassTypeInfo.GetProperties
  Dim thisClassMethods() As Introspection.MethodInfo = thisClassTypeInfo.GetMethods

  For Each myProperty As Introspection.PropertyInfo In thisClassProperties
// Then here use myProperty.Name, myProperty.Value(Self).StringValue
// or myProperty.Value(Self).anyotheroption and create a dictionary 
// or array with the results and return it.
  Next

相关内容

  • 没有找到相关文章

最新更新