问题列表 - 第47873页

IEnumerable <Enum>的扩展方法?

我有一堆不同的枚举,比如......

 public enum MyEnum
{
  [Description("Army of One")]
  one, 
  [Description("Dynamic Duo")]
  two,
  [Description("Three Amigo's")]
  three,
  [Description("Fantastic Four")]
  four,
  [Description("The Jackson Five")]
  five
}
Run Code Online (Sandbox Code Playgroud)

我为任何Enum编写了一个扩展方法,以获取Description属性(如果有).很简单吧......

public static string GetDescription(this Enum currentEnum)
{
  var fi = currentEnum.GetType().GetField(currentEnum.ToString());
  var da = (DescriptionAttribute)Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute));
  return da != null ? da.Description : currentEnum.ToString();
}
Run Code Online (Sandbox Code Playgroud)

我可以非常简单地使用它,它就像一个魅力,返回描述或ToString()按预期.

这是问题所在.我希望能够在IEnumerable的MyEnum,YourEnum或SomeoneElsesEnum上调用它.所以我简单地编写了以下扩展名.

public static IEnumerable<string> GetDescriptions(this IEnumerable<Enum> enumCollection)
{
  return enumCollection.ToList().ConvertAll(a => a.GetDescription());
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.它作为一种方法编译很好,但使用它会产生以下错误:

Instance argument: cannot convert from 'System.Collections.Generic.IEnumerable<MyEnum>' to System.Collections.Generic.IEnumerable<System.Enum>'
Run Code Online (Sandbox Code Playgroud)

那么为什么呢?我可以做这个吗?

我在这一点上找到的唯一答案是为泛型T编写扩展方法,如下所示:

public static IEnumerable<string> GetDescriptions<T>(this List<T> myEnumList) …
Run Code Online (Sandbox Code Playgroud)

c# ienumerable extension-methods enums

4
推荐指数
1
解决办法
1568
查看次数

未初始化的常量ActiveSupport :: CoreExtensions

我正在尝试将jquery的datepicker与formtastic集成在这里详细说明

我完全按照指示操​​作,但在运行此代码时,我得到"未初始化的常量ActiveSupport :: CoreExtensions":

<%= semantic_form_for @item, :html => { :multipart => true, :class => 'form'} do |f| %>
 <div class="group">
  <%= f.label :create_date, :class => 'label' %>
  <%= f.input :create_date, :as => :datepicker %>
 </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我试图把它放在我的config/application.rb中:

require 'active_support/core_ext/date/conversions'
Run Code Online (Sandbox Code Playgroud)

我重新启动了服务器,但仍然遇到同样的错误.我把这条要求线放在正确的位置吗?

activesupport ruby-on-rails-3

6
推荐指数
1
解决办法
3693
查看次数

如何从C#显示"显示设置"窗口

如何从C#显示Windows显示设置(分辨率设置)窗口.(可以调整屏幕分辨率的那个)

我找到了一种通过p/invoke更改显示设置的方法,但我想要做的就是显示Windows附带的"对话框设置"窗口.

c# winapi

2
推荐指数
1
解决办法
1085
查看次数

来自Google的采访问题

可能重复:
给定一个从左到右,从上到下按升序排序的二维数组,搜索目标数的最佳方法是什么?

在Google采访中询问了以下内容:

您将获得一个存储整数的2D数组,垂直和水平排序.

编写一个方法,将整数作为输入,并输出一个bool说明整数是否在数组中.

做这个的最好方式是什么?它的时间复杂度是多少?

algorithm

6
推荐指数
2
解决办法
5969
查看次数

RibbonMenuItem未显示图标

我在RibbonSplitButton中有以下代码(在3.5功能区CTP版本上正确呈现).我试图使用WPF Ribbon 4.0库查看它,但它只是不渲染Icon.知道为什么吗?

<ribbon:RibbonMenuItem Header="Option 3 - icon">
                            <ribbon:RibbonMenuItem.Icon>
                                <Image Width="16" Height="16" Source="Images/wizard-icon16.png"></Image>
                            </ribbon:RibbonMenuItem.Icon>
                        </ribbon:RibbonMenuItem>
Run Code Online (Sandbox Code Playgroud)

wpf icons menuitem

7
推荐指数
2
解决办法
1347
查看次数

用于从远程计算机复制文件的Windows实用程序

我正在寻找本机Windows实用程序或powershell cmdlet来执行此操作.(不是Windows上的SSH服务器)

我在同一个网络上有两台机器.我想通过在机器2上执行一些命令将文件从machine1复制到machine2.这意味着我需要在复制文件时为machine1指定凭据.

我找到了这个PsExec工具,它只允许从psexec命令执行机器复制文件到远程机器并自动执行它.但是,我不希望这样的行为.

将文件从Machine1传送到machine2的最佳方法是什么?

windows powershell copy batch-file

7
推荐指数
2
解决办法
2万
查看次数

JavaScript用数字排序

以下程序(取自教程)按从低到高的顺序打印数组中的数字.在这种情况下,结果将是 2,4,5,13,31

我的问题涉及函数compareNumbers的参数"a"和"b".当函数被调用时,函数numArray.sort(compareNumbers)的参数a和b将是多少.它只是沿阵列移动吗?例如,从a=13b=2?开始?之后,比较a = 2和b = 31,函数再次运行吗?或者它接下来会比较a=31b=4

有人可以解释一下这部分是如何工作的,以及它如何设法从最低到最高对它们进行排序?我不知道该函数如何设法对数组中的数字进行必要的计算.

function compareNumbers(a,b) {
  return a - b;
}

var numArray = [13,2,31,4,5];
alert(numArray.sort(compareNumbers));
Run Code Online (Sandbox Code Playgroud)

javascript sorting algorithm comparison

3
推荐指数
1
解决办法
1281
查看次数

合并具有相同列名的两个表,添加计数器

我有两个具有相同列的表,第一列是名称,第二列是计数.我想合并这些表,以便每个名称都显示两个表的添加计数:

Table1:           Table2:            Result Table:
NAME   COUNT      NAME   COUNT       NAME   COUNT
name1  1          name3  3           name1  1
name2  2          name4  4           name2  2
name3  3          name5  5           name3  6
name4  4          name6  6           name4  8
                                     name5  5
                                     name6  6
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经创建了一个非常难看的结构来执行此操作,并且想知道是否有可能以更优雅的方式获得结果.

到目前为止我所拥有的(表1是test1,表2是test2):

create table test1 ( name varchar(40), count integer);
create table test2 ( name varchar(40), count integer);
create table test3 ( name varchar(40), count integer);
create table test4 ( name varchar(40), count integer);
create table test5 ( name varchar(40), count …
Run Code Online (Sandbox Code Playgroud)

sql postgresql merge

6
推荐指数
2
解决办法
2万
查看次数

用于gd的php包装类

任何人都可以推荐gd库的包装类吗?

我找到了一些,但他们只有基本的图像处理功能,如翻转,倒车等.

我真的在这里画画,所以我想要所有的线条,点,几何图形和颜色函数.还有一个基本的调色板,所以我不必经历定义基本颜色的麻烦:Þ

编辑:我的webhost没有5.3可用.当然必须有一个不依赖5.3功能的课程?

php gd wrapper

5
推荐指数
1
解决办法
2637
查看次数

功能未定义创建Chrome扩展内容脚本

我正在编写一个Chrome内容脚本,当我在DOM中注入它时:

"<a href='#' onclick='alert(\"Hi!\");return false;'>Hi</a>"
Run Code Online (Sandbox Code Playgroud)

它工作正常(当我点击它时弹出警报),但是如果我为警报创建一个函数,它会说函数未定义.例如:

"<a href='#' onclick='alertPlease(\"Hi!\");return false;'>Hi</a>"

function alertPlease(x){
     alert(x);
}
Run Code Online (Sandbox Code Playgroud)

我的所有代码都是相同的内容脚本js文件.

在后台加载另一个js文件后,是否必须放置可以使用的代码?我尝试添加一个带有'alertPlease();的后台页面 功能,但这也不起作用.

任何提示将不胜感激!
谢谢!

google-chrome-extension

3
推荐指数
1
解决办法
2886
查看次数