scripts
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Reflection;
|
||||
|
||||
namespace System.ComponentModel
|
||||
{
|
||||
// Token: 0x020000D4 RID: 212
|
||||
internal class ComponentInfo : Info
|
||||
{
|
||||
// Token: 0x06000739 RID: 1849 RVA: 0x000137E0 File Offset: 0x000119E0
|
||||
public ComponentInfo(IComponent component)
|
||||
: base(component.GetType())
|
||||
{
|
||||
this._component = component;
|
||||
}
|
||||
|
||||
// Token: 0x0600073A RID: 1850 RVA: 0x000137F8 File Offset: 0x000119F8
|
||||
public override AttributeCollection GetAttributes()
|
||||
{
|
||||
return base.GetAttributes(this._component);
|
||||
}
|
||||
|
||||
// Token: 0x0600073B RID: 1851 RVA: 0x00013808 File Offset: 0x00011A08
|
||||
public override EventDescriptorCollection GetEvents()
|
||||
{
|
||||
if (this._events != null)
|
||||
{
|
||||
return this._events;
|
||||
}
|
||||
bool flag = true;
|
||||
EventInfo[] events = this._component.GetType().GetEvents();
|
||||
Hashtable hashtable = new Hashtable();
|
||||
foreach (EventInfo eventInfo in events)
|
||||
{
|
||||
hashtable[eventInfo.Name] = new ReflectionEventDescriptor(eventInfo);
|
||||
}
|
||||
if (this._component.Site != null)
|
||||
{
|
||||
global::System.ComponentModel.Design.ITypeDescriptorFilterService typeDescriptorFilterService = (global::System.ComponentModel.Design.ITypeDescriptorFilterService)this._component.Site.GetService(typeof(global::System.ComponentModel.Design.ITypeDescriptorFilterService));
|
||||
if (typeDescriptorFilterService != null)
|
||||
{
|
||||
flag = typeDescriptorFilterService.FilterEvents(this._component, hashtable);
|
||||
}
|
||||
}
|
||||
ArrayList arrayList = new ArrayList();
|
||||
arrayList.AddRange(hashtable.Values);
|
||||
EventDescriptorCollection eventDescriptorCollection = new EventDescriptorCollection(arrayList);
|
||||
if (flag)
|
||||
{
|
||||
this._events = eventDescriptorCollection;
|
||||
}
|
||||
return eventDescriptorCollection;
|
||||
}
|
||||
|
||||
// Token: 0x0600073C RID: 1852 RVA: 0x000138E8 File Offset: 0x00011AE8
|
||||
public override PropertyDescriptorCollection GetProperties()
|
||||
{
|
||||
if (this._properties != null)
|
||||
{
|
||||
return this._properties;
|
||||
}
|
||||
bool flag = true;
|
||||
PropertyInfo[] properties = this._component.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
|
||||
Hashtable hashtable = new Hashtable();
|
||||
for (int i = properties.Length - 1; i >= 0; i--)
|
||||
{
|
||||
hashtable[properties[i].Name] = new ReflectionPropertyDescriptor(properties[i]);
|
||||
}
|
||||
if (this._component.Site != null)
|
||||
{
|
||||
global::System.ComponentModel.Design.ITypeDescriptorFilterService typeDescriptorFilterService = (global::System.ComponentModel.Design.ITypeDescriptorFilterService)this._component.Site.GetService(typeof(global::System.ComponentModel.Design.ITypeDescriptorFilterService));
|
||||
if (typeDescriptorFilterService != null)
|
||||
{
|
||||
flag = typeDescriptorFilterService.FilterProperties(this._component, hashtable);
|
||||
}
|
||||
}
|
||||
PropertyDescriptor[] array = new PropertyDescriptor[hashtable.Values.Count];
|
||||
hashtable.Values.CopyTo(array, 0);
|
||||
PropertyDescriptorCollection propertyDescriptorCollection = new PropertyDescriptorCollection(array, true);
|
||||
if (flag)
|
||||
{
|
||||
this._properties = propertyDescriptorCollection;
|
||||
}
|
||||
return propertyDescriptorCollection;
|
||||
}
|
||||
|
||||
// Token: 0x0400020D RID: 525
|
||||
private IComponent _component;
|
||||
|
||||
// Token: 0x0400020E RID: 526
|
||||
private EventDescriptorCollection _events;
|
||||
|
||||
// Token: 0x0400020F RID: 527
|
||||
private PropertyDescriptorCollection _properties;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user