2

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 的

提前致谢...

4

1 回答 1

2

我发现了如何...非常简单,创建 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
于 2012-12-26T08:37:04.630 回答