Пример #1
0
        public GetTypeResponseMessage GetTypeInfo()
        {
            GetTypeResponseMessage msg = new GetTypeResponseMessage {
                IndexerLength = 0,
                Members = new List<TypeMemberInfo>()
            };

            foreach (KeyValuePair<string, int> item in idsByName) {
                MemberInfo mi = GetMember(item.Value);

                DispatchType dt;
                if (mi is MethodInfo) {
                    dt = DispatchType.Method;
                }
                else if (mi is PropertyInfo) {
                    dt = DispatchType.PropertyGet | DispatchType.PropertySet;
                }
                else {
                    throw new InvalidOperationException();
                }

                TypeMemberInfo tmi = new TypeMemberInfo {
                    Name = item.Key,
                    //MemberId = item.Value,
                    DispatchType = dt
                };
                msg.Members.Add(tmi);
            }

            return msg;
        }
Пример #2
0
        public GetTypeResponseMessage GetTypeInfo()
        {
            var msg = new GetTypeResponseMessage {
                IndexerLength = this.target.Length,
                Members = new List<TypeMemberInfo>()
            };

            var tmi = new TypeMemberInfo {
                Name = "length",
                //MemberId = this.target.Length,
                DispatchType = DispatchType.PropertyGet
            };
            msg.Members.Add(tmi);
            return msg;
        }
Пример #3
0
        public GetTypeResponseMessage GetTypeInfo()
        {
            var ret = new GetTypeResponseMessage {
                IndexerLength = 0,
                Members = new List<TypeMemberInfo>()
            };

            //var properties = this.bridge.GetDynamicPropertyMap(this.target);
            foreach (var item in this.properties) {
                ret.Members.Add(new TypeMemberInfo {
                    DispatchType = DispatchType.PropertyGet | DispatchType.PropertySet,
                    //MemberId = 0,
                    Name = item.Key
                });
            }

            return ret;
        }