Esempio n. 1
0
            protected override void AddExpandoMemberName(string name)
            {
                var dispid = 1;

                var dispids = ReflectMembers.Concat(expandoMembers).Select(member => member.DispID).ToArray();

                for (; dispids.Contains(dispid); dispid++)
                {
                    if (dispid >= int.MaxValue)
                    {
                        throw new NotSupportedException("The object cannot support additional dynamic members");
                    }
                }

                base.AddExpandoMemberName(name);
                expandoMembers.Add(new Member {
                    Name = name, DispID = dispid, DispIDName = MiscHelpers.GetDispIDName(dispid)
                });
            }