本文整理汇总了C#中Module.GetAllTypes方法的典型用法代码示例。如果您正苦于以下问题:C# Module.GetAllTypes方法的具体用法?C# Module.GetAllTypes怎么用?C# Module.GetAllTypes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Module
的用法示例。
在下文中一共展示了Module.GetAllTypes方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenameResources
void RenameResources(Module module) {
var renamedTypes = new List<TypeInfo>();
foreach (var type in module.GetAllTypes()) {
var info = memberInfos.Type(type);
if (info.oldFullName != info.type.TypeDef.FullName)
renamedTypes.Add(info);
}
if (renamedTypes.Count == 0)
return;
new ResourceRenamer(module).Rename(renamedTypes);
}
示例2: RemoveOneClassNamespaces
void RemoveOneClassNamespaces(Module module) {
var nsToTypes = new Dictionary<string, List<MTypeDef>>(StringComparer.Ordinal);
foreach (var typeDef in module.GetAllTypes()) {
List<MTypeDef> list;
var ns = typeDef.TypeDef.Namespace.String;
if (string.IsNullOrEmpty(ns))
continue;
if (module.ObfuscatedFile.NameChecker.IsValidNamespaceName(ns))
continue;
if (!nsToTypes.TryGetValue(ns, out list))
nsToTypes[ns] = list = new List<MTypeDef>();
list.Add(typeDef);
}
var sortedNamespaces = new List<List<MTypeDef>>(nsToTypes.Values);
sortedNamespaces.Sort((a, b) => {
return UTF8String.CompareTo(a[0].TypeDef.Namespace, b[0].TypeDef.Namespace);
});
foreach (var list in sortedNamespaces) {
const int maxClasses = 1;
if (list.Count != maxClasses)
continue;
if (isVerbose)
Logger.v("Removing namespace: {0}", Utils.RemoveNewlines(list[0].TypeDef.Namespace));
foreach (var type in list)
memberInfos.Type(type).newNamespace = "";
}
}