コード例 #1
0
ファイル: ObjectProxy.cs プロジェクト: hepper/FlashAMF3
        public ClassDefinition GetClassDefinition(object instance)
        {
            Type type = instance.GetType();

            List <ClassMember> classMemberList = new List <ClassMember>();

            FieldInfo[] fieldInfos = type.GetFields(BindingFlags.Public | BindingFlags.Instance);

            for (int i = 0; i < fieldInfos.Length; i++)
            {
                FieldInfo fieldInfo = fieldInfos[i];

                string name = fieldInfo.Name;

                ClassMember classMember = new ClassMember(name, BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance, fieldInfo.MemberType, null);

                classMemberList.Add(classMember);
            }

            ClassMember[] classMembers = classMemberList.ToArray();

            string customClassName = type.FullName;

            customClassName = AMFWriter.GetCustomClass(customClassName);

            ClassDefinition classDefinition = new ClassDefinition(customClassName, classMembers, GetIsExternalizable(instance), GetIsDynamic(instance));

            return(classDefinition);
        }
コード例 #2
0
        public ClassDefinition GetClassDefinition(object instance)
        {
            Type type = instance.GetType();

            string customClassName = type.FullName;

            customClassName = AMFWriter.GetCustomClass(customClassName);

            ClassDefinition classDefinition = new ClassDefinition(customClassName, ClassDefinition.EmptyClassMembers, true, false);

            return(classDefinition);
        }