Cascade.GameExtensions.GetFieldInfo C# (CSharp) Метод

GetFieldInfo() публичный статический Метод

public static GetFieldInfo ( string property, object o ) : FieldAndObjectInfo
property string
o object
Результат FieldAndObjectInfo
        public static FieldAndObjectInfo GetFieldInfo(string property, object o)
        {
            var props = property.Split('.');
            string finalProp = props[props.Length - 1];
            FieldInfo pi = null;
            object lastObj = o;
            FieldAndObjectInfo fao = new FieldAndObjectInfo() {  };
            foreach (var prop in props)
            {
                try
                {
                    var pr = lastObj.GetType().GetMember(prop);
                    if (prop == finalProp)
                    {
                        fao.Fields.Add(pr[0]);
                        fao.Objects.Add(lastObj);
                        return fao;
                    }
                    fao.Fields.Add(pr[0]);
                    fao.Objects.Add(lastObj);
                    lastObj = pr[0].GetValue(lastObj);
                }
                catch
                {
                    return null;
                }
            }
            return fao;
        }
        public static FieldAndObjectInfo GetStaticFieldInfo(string property)