本文整理汇总了C#中Hashtable.Values方法的典型用法代码示例。如果您正苦于以下问题:C# Hashtable.Values方法的具体用法?C# Hashtable.Values怎么用?C# Hashtable.Values使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hashtable
的用法示例。
在下文中一共展示了Hashtable.Values方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildEvents
/// <summary>
/// Build all properties for a given definingType.
/// </summary>
private static EventInfo[] BuildEvents(Type definingType, Type declaringType)
{
Hashtable<string, Event> events = new Hashtable<string, Event>();
foreach (var method in declaringType.GetMethods())
{
var methodName = method.Name;
bool isAdd = methodName.StartsWith("add_");
bool isRemove = methodName.StartsWith("remove_");
if (!isAdd && !isRemove) continue;
int idxStart = isAdd ? 4 : 7;
int len = methodName.Length - idxStart;
// cut out an eventual postfix.
int wannaBeRichIdx = methodName.IndexOf("$");
if (wannaBeRichIdx != -1)
len = wannaBeRichIdx - idxStart;
string eventName = methodName.Substring(idxStart, len);
var @event = events.Get(eventName);
if (@event == null)
events.Put(eventName, @event = new Event() { Name=eventName});
if (isAdd)
@event.Add = method;
else
@event.Remove = method;
}
List<EventInfo> p = new List<EventInfo>();
foreach (var @event in new IterableWrapper<Event>(events.Values()))
{
if (@event.Add == null || @event.Remove == null)
continue;
EventInfo e = new EventInfo(declaringType, @event.Name, @event.Add, @event.Remove, new IAttribute[0]);
p.Add(e);
}
return p.ToArray();
}