有这样的 .proto 文件结构
{
session{
field1 = value;
field2 = value;
...
}
object1{
Object1field1 = value;
Object1field2 = value;
...
}
object1{
Object1field1 = value;
Object1field2 = value;
...
}
object2{
Object2field1 = value;
Object2field2 = value;
...
SubObject1{
SubObject1field1 = value;
SubObject2field2 = value;
...
}
} object2{
Object2field1 = value;
Object2field2 = value;
...
SubObject1{
SubObject1field1 = value;
SubObject2field2 = value;
...
}
}
} 简单地说具有复杂的层次结构。例如,Object1 或 Object2 可以是可重复的。是否可以编写通用方法,将字段值作为基本对象(如 int、bool、string、datetime 或简单的字符串)返回?我想通过字符串文字获得以下访问权限:
public object GetFieldValue(int number, string fullPath)
例如,可以像这样指定 fullPath 的位置:
fullPath = "object1.Object1field1";
重复字段所需的数字:例如,对于第一个“object1”,number 可以等于 0,对于第二个“object1”可以等于 1。获取 object1 的必要方法也是按字段名称重复计数:
public int GetFieldCount(string fieldName)
并且还需要类似的方式来访问子对象到任何嵌套级别。那可能吗?是否有替代协议缓冲区硬编码类的方法?