本文整理汇总了C#中Options.EnumFilter方法的典型用法代码示例。如果您正苦于以下问题:C# Options.EnumFilter方法的具体用法?C# Options.EnumFilter怎么用?C# Options.EnumFilter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Options
的用法示例。
在下文中一共展示了Options.EnumFilter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TranslateEnums
private void TranslateEnums(XmlSpecData spec, DotNetApiData api, Options options)
{
foreach (var specEnum in spec.Enums.Where(x => options.EnumFilter(x)))
{
var enumData = new DotNetEnumData()
{
OriginalName = specEnum.Name,
Name = this.InflectEnumName(specEnum.Name, options),
Value = specEnum.Value,
Type = specEnum.Value.Length <= 6 ? "uint" : "ulong"
};
if (enumData.Value.StartsWith("-"))
enumData.Value = string.Format("unchecked((uint){0})", enumData.Value);
api.Enums.Add(enumData);
}
}
示例2: TranslateEnumGroups
private void TranslateEnumGroups(XmlSpecData spec, DotNetApiData api, Options options)
{
foreach (var specEnumGroup in spec.EnumGroups.Where(x => options.EnumGroupFilter(x.Name)))
{
var enumGroupData = new DotNetEnumGroupData()
{
Name = specEnumGroup.Name,
};
foreach (var enumName in specEnumGroup.Enums.Distinct())
{
var xmlEnumData = spec.Enums.SingleOrDefault(x => x.Name == enumName);
if (xmlEnumData == null || !options.EnumFilter(xmlEnumData))
continue;
var enumData = api.Enums.SingleOrDefault(x => x.OriginalName == enumName);
if (enumData == null)
continue;
enumGroupData.Enums.Add(enumData);
if (spec.Enums.Single(x => x.Name == enumName).Type == "bitmask")
enumGroupData.IsFlags = true;
}
api.EnumGroups.Add(enumGroupData);
}
}