Ejemplo n.º 1
0
 internal void SetInfo(string name, Type type, TraceLoggingTypeInfo typeInfo = null)
 {
     ParameterName = name;
     ParameterType = type;
     TypeInfo      = typeInfo;
 }
 // Token: 0x060034B9 RID: 13497 RVA: 0x000CD1DB File Offset: 0x000CB3DB
 public ArrayTypeInfo(TraceLoggingTypeInfo <ElementType> elementInfo)
 {
     this.elementInfo = elementInfo;
 }
Ejemplo n.º 3
0
 public EnumerableTypeInfo(TraceLoggingTypeInfo <ElementType> elementInfo)
 {
     this.elementInfo = elementInfo;
 }
Ejemplo n.º 4
0
        public KeyValuePairTypeInfo(List <Type> recursionCheck)
        {
            this.keyInfo = TraceLoggingTypeInfo <K> .GetInstance(recursionCheck);

            this.valueInfo = TraceLoggingTypeInfo <V> .GetInstance(recursionCheck);
        }
Ejemplo n.º 5
0
        public TypeAnalysis(
            Type dataType,
            EventDataAttribute?eventAttrib,
            List <Type> recursionCheck)
        {
            var propertyList = new List <PropertyAnalysis>();

            foreach (PropertyInfo propertyInfo in dataType.GetProperties())
            {
                if (Statics.HasCustomAttribute(propertyInfo, typeof(EventIgnoreAttribute)))
                {
                    continue;
                }

                if (!propertyInfo.CanRead ||
                    propertyInfo.GetIndexParameters().Length != 0)
                {
                    continue;
                }

                MethodInfo?getterInfo = propertyInfo.GetGetMethod();
                if (getterInfo == null)
                {
                    continue;
                }

                if (getterInfo.IsStatic || !getterInfo.IsPublic)
                {
                    continue;
                }

                Type propertyType     = propertyInfo.PropertyType;
                var  propertyTypeInfo = TraceLoggingTypeInfo.GetInstance(propertyType, recursionCheck);
                EventFieldAttribute?fieldAttribute = Statics.GetCustomAttribute <EventFieldAttribute>(propertyInfo);

                string propertyName =
                    fieldAttribute != null && fieldAttribute.Name != null
                    ? fieldAttribute.Name
                    : Statics.ShouldOverrideFieldName(propertyInfo.Name)
                    ? propertyTypeInfo.Name
                    : propertyInfo.Name;
                propertyList.Add(new PropertyAnalysis(
                                     propertyName,
                                     propertyInfo,
                                     propertyTypeInfo,
                                     fieldAttribute));
            }

            this.properties = propertyList.ToArray();

            foreach (PropertyAnalysis property in this.properties)
            {
                TraceLoggingTypeInfo typeInfo = property.typeInfo;
                this.level     = (EventLevel)Statics.Combine((int)typeInfo.Level, (int)this.level);
                this.opcode    = (EventOpcode)Statics.Combine((int)typeInfo.Opcode, (int)this.opcode);
                this.keywords |= typeInfo.Keywords;
                this.tags     |= typeInfo.Tags;
            }

            if (eventAttrib != null)
            {
                this.level     = (EventLevel)Statics.Combine((int)eventAttrib.Level, (int)this.level);
                this.opcode    = (EventOpcode)Statics.Combine((int)eventAttrib.Opcode, (int)this.opcode);
                this.keywords |= eventAttrib.Keywords;
                this.tags     |= eventAttrib.Tags;
                this.name      = eventAttrib.Name;
            }

            this.name ??= dataType.Name;
        }
Ejemplo n.º 6
0
 private static TraceLoggingTypeInfo <DataType> InitInstance()
 {
     return(TraceLoggingTypeInfo <DataType> .GetInstance(new List <Type>()));
 }
Ejemplo n.º 7
0
 // Token: 0x060035D3 RID: 13779 RVA: 0x000CF0E3 File Offset: 0x000CD2E3
 public NullableTypeInfo(List <Type> recursionCheck)
 {
     this.valueInfo = TraceLoggingTypeInfo <T> .GetInstance(recursionCheck);
 }
Ejemplo n.º 8
0
 public EnumerableTypeInfo(Type type, TraceLoggingTypeInfo elementInfo)
     : base(type)
 {
     this.elementInfo = elementInfo;
 }
Ejemplo n.º 9
0
 public NonGenericProperytWriter(PropertyAnalysis property)
 {
     this.getterInfo = property.getterInfo;
     this.typeInfo   = property.typeInfo;
 }