scripts
This commit is contained in:
@@ -0,0 +1,171 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.ComponentModel.Design;
|
||||
|
||||
namespace System.ComponentModel
|
||||
{
|
||||
// Token: 0x020000D3 RID: 211
|
||||
internal abstract class Info
|
||||
{
|
||||
// Token: 0x0600072F RID: 1839 RVA: 0x00013460 File Offset: 0x00011660
|
||||
public Info(Type infoType)
|
||||
{
|
||||
this._infoType = infoType;
|
||||
}
|
||||
|
||||
// Token: 0x06000730 RID: 1840
|
||||
public abstract AttributeCollection GetAttributes();
|
||||
|
||||
// Token: 0x06000731 RID: 1841
|
||||
public abstract EventDescriptorCollection GetEvents();
|
||||
|
||||
// Token: 0x06000732 RID: 1842
|
||||
public abstract PropertyDescriptorCollection GetProperties();
|
||||
|
||||
// Token: 0x170001BC RID: 444
|
||||
// (get) Token: 0x06000733 RID: 1843 RVA: 0x00013470 File Offset: 0x00011670
|
||||
public Type InfoType
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._infoType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06000734 RID: 1844 RVA: 0x00013478 File Offset: 0x00011678
|
||||
public EventDescriptorCollection GetEvents(Attribute[] attributes)
|
||||
{
|
||||
EventDescriptorCollection events = this.GetEvents();
|
||||
if (attributes == null)
|
||||
{
|
||||
return events;
|
||||
}
|
||||
return events.Filter(attributes);
|
||||
}
|
||||
|
||||
// Token: 0x06000735 RID: 1845 RVA: 0x0001349C File Offset: 0x0001169C
|
||||
public PropertyDescriptorCollection GetProperties(Attribute[] attributes)
|
||||
{
|
||||
PropertyDescriptorCollection properties = this.GetProperties();
|
||||
if (attributes == null)
|
||||
{
|
||||
return properties;
|
||||
}
|
||||
return properties.Filter(attributes);
|
||||
}
|
||||
|
||||
// Token: 0x06000736 RID: 1846 RVA: 0x000134C0 File Offset: 0x000116C0
|
||||
public EventDescriptor GetDefaultEvent()
|
||||
{
|
||||
if (this._gotDefaultEvent)
|
||||
{
|
||||
return this._defaultEvent;
|
||||
}
|
||||
DefaultEventAttribute defaultEventAttribute = (DefaultEventAttribute)this.GetAttributes()[typeof(DefaultEventAttribute)];
|
||||
if (defaultEventAttribute == null || defaultEventAttribute.Name == null)
|
||||
{
|
||||
this._defaultEvent = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
EventDescriptorCollection events = this.GetEvents();
|
||||
this._defaultEvent = events[defaultEventAttribute.Name];
|
||||
}
|
||||
this._gotDefaultEvent = true;
|
||||
return this._defaultEvent;
|
||||
}
|
||||
|
||||
// Token: 0x06000737 RID: 1847 RVA: 0x00013540 File Offset: 0x00011740
|
||||
public PropertyDescriptor GetDefaultProperty()
|
||||
{
|
||||
if (this._gotDefaultProperty)
|
||||
{
|
||||
return this._defaultProperty;
|
||||
}
|
||||
DefaultPropertyAttribute defaultPropertyAttribute = (DefaultPropertyAttribute)this.GetAttributes()[typeof(DefaultPropertyAttribute)];
|
||||
if (defaultPropertyAttribute == null || defaultPropertyAttribute.Name == null)
|
||||
{
|
||||
this._defaultProperty = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
PropertyDescriptorCollection properties = this.GetProperties();
|
||||
this._defaultProperty = properties[defaultPropertyAttribute.Name];
|
||||
}
|
||||
this._gotDefaultProperty = true;
|
||||
return this._defaultProperty;
|
||||
}
|
||||
|
||||
// Token: 0x06000738 RID: 1848 RVA: 0x000135C0 File Offset: 0x000117C0
|
||||
protected AttributeCollection GetAttributes(IComponent comp)
|
||||
{
|
||||
if (this._attributes != null)
|
||||
{
|
||||
return this._attributes;
|
||||
}
|
||||
bool flag = true;
|
||||
ArrayList arrayList = new ArrayList();
|
||||
foreach (Attribute attribute in this._infoType.GetCustomAttributes(false))
|
||||
{
|
||||
arrayList.Add(attribute);
|
||||
}
|
||||
Type type = this._infoType.BaseType;
|
||||
while (type != null && type != typeof(object))
|
||||
{
|
||||
foreach (Attribute attribute2 in type.GetCustomAttributes(false))
|
||||
{
|
||||
arrayList.Add(attribute2);
|
||||
}
|
||||
type = type.BaseType;
|
||||
}
|
||||
foreach (Type type2 in this._infoType.GetInterfaces())
|
||||
{
|
||||
foreach (object obj in TypeDescriptor.GetAttributes(type2))
|
||||
{
|
||||
Attribute attribute3 = (Attribute)obj;
|
||||
arrayList.Add(attribute3);
|
||||
}
|
||||
}
|
||||
Hashtable hashtable = new Hashtable();
|
||||
for (int l = arrayList.Count - 1; l >= 0; l--)
|
||||
{
|
||||
Attribute attribute4 = (Attribute)arrayList[l];
|
||||
hashtable[attribute4.TypeId] = attribute4;
|
||||
}
|
||||
if (comp != null && comp.Site != null)
|
||||
{
|
||||
global::System.ComponentModel.Design.ITypeDescriptorFilterService typeDescriptorFilterService = (global::System.ComponentModel.Design.ITypeDescriptorFilterService)comp.Site.GetService(typeof(global::System.ComponentModel.Design.ITypeDescriptorFilterService));
|
||||
if (typeDescriptorFilterService != null)
|
||||
{
|
||||
flag = typeDescriptorFilterService.FilterAttributes(comp, hashtable);
|
||||
}
|
||||
}
|
||||
Attribute[] array = new Attribute[hashtable.Values.Count];
|
||||
hashtable.Values.CopyTo(array, 0);
|
||||
AttributeCollection attributeCollection = new AttributeCollection(array);
|
||||
if (flag)
|
||||
{
|
||||
this._attributes = attributeCollection;
|
||||
}
|
||||
return attributeCollection;
|
||||
}
|
||||
|
||||
// Token: 0x04000207 RID: 519
|
||||
private Type _infoType;
|
||||
|
||||
// Token: 0x04000208 RID: 520
|
||||
private EventDescriptor _defaultEvent;
|
||||
|
||||
// Token: 0x04000209 RID: 521
|
||||
private bool _gotDefaultEvent;
|
||||
|
||||
// Token: 0x0400020A RID: 522
|
||||
private PropertyDescriptor _defaultProperty;
|
||||
|
||||
// Token: 0x0400020B RID: 523
|
||||
private bool _gotDefaultProperty;
|
||||
|
||||
// Token: 0x0400020C RID: 524
|
||||
private AttributeCollection _attributes;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user