我有以下两个功能:
public static Dictionary<int, string> GetEnumLocalizations<T>()
where T : struct
{
return Enum.GetValues(typeof(T))
.Cast<object>()
.ToDictionary(enumValue => (int)enumValue, enumObject => ((Enum)enumObject).ToLocalizedValue());
}
public static Dictionary<int, string> GetEnumDescriptions<T>()
where T : struct
{
return Enum.GetValues(typeof(T))
.Cast<object>()
.ToDictionary(enumValue => (int)enumValue, enumObject => ((Enum)enumObject).GetDescription());
}
public static string GetDescription(this Enum value)
{
return ...
}
public static string ToLocalizedValue(this Enum value)
{
return ...
}
如果我没有搞错,应该可以将GetEnumLocalizations()
和GetEnumDescriptions()
合并到一个函数中,并使用委托参数解析((Enum)enumObject).ToLocalizedValue())
和((Enum)enumObject).GetDescription())
部分。
那有可能吗?我在试着这么做的时候被卡住了。在伪代码中,我想的是这样的东西:
public static Dictionary<int, string> GetEnumValues<T>(delegate someFunction)
where T : struct
{
return Enum.GetValues(typeof(T))
.Cast<object>()
.ToDictionary(enumValue => (int)enumValue, someFunction);
}
当然,用这个就行了:
public static Dictionary<int, string> GetEnumValues<T>(Func<Enum, string> someFunction)
where T : struct
{
return Enum.GetValues(typeof(T))
.Cast<object>()
.ToDictionary(enumValue => (int)enumValue, enumObject => someFunction((Enum)enumObject);
}
现在你应该可以这样称呼它了:
GetEnumValues<MyEnum>(x => x.ToLocalizedValue());
我有一个问题把两个数组组合在一起。一个数组是问题,另一个数组是答案。 不起作用,因为我丢失了一些键+值。而且也不是我想要的,我希望有人能帮我。 这两个数组都得到了键,这是我要针对的键。 数组1(答案); 和包含问题的数组: 最后的数组必须是什么样子的:
问题内容: 如何将这两个JToken合并为一个JToken。听起来应该很简单,但无法解决。 谢谢您的帮助! 到目前为止,这是我尝试过的: 我首先将第一个对象分配给变量,然后尝试将其连接到第二个变量。我有一个循环,可以带回具有三个字段的多个页面。最终目标是抓取每个页面并创建一个包含所有页面的大J。 像这样的东西: 问题答案: 您可以用来将一个合并到另一个。请注意,可以控制数组的合并方式。从Enume
问题内容: 有人可以解释何时以及何时不使用Swift中的委托指针进行“弱”分配,为什么? 我的理解是,如果您使用的协议未定义为类,则无法,也不想将您的委托指针分配给弱。 但是,当您的协议定义为类类型协议时,您是否要将委托设置为弱指针? 我对么?在Apple的快速指南中,类协议示例没有使用弱分配,但是在我的测试中,如果没有弱引用我的委托人,我会看到强参考周期。 问题答案: 通常,使类协议(如用关键字
本文向大家介绍JavaScript匿名函数与委托使用示例,包括了JavaScript匿名函数与委托使用示例的使用技巧和注意事项,需要的朋友参考一下
问题内容: 我见过类似的问题,但没有一个提供我所要的答案,因此,如果这被认为是重复的,我在此致歉。我正在尝试将数组{1,2,3}和{4,5,6}合并为{1,2,3,4,5,6}。我做错了什么?我是java的新手。抱歉,问题很愚蠢。 问题答案: 代替 您需要调用merge方法,并将结果分配给数组,例如: 您的for循环也应该是:
在C++98中,如果你想让两个构造函数完成相似的事情,可以写两个大段代码相同的构造函数,或者是另外定义一个init()函数,让两个构造函数都调用这个init()函数。例如: class X { int a; // 实现一个初始化函数 validate(int x) { if (0<x && x<=max) a=x; else throw bad_X(x);