问题列表 - 第29017页

返回基于传入字符串值的枚举常量

我将从查询字符串中获取枚举值.

例如,假设我有这个枚举:

Enum MyEnum
{
    Test1,
    Test2,
    Test3
}
Run Code Online (Sandbox Code Playgroud)

我将从传入的查询字符串中获取值,因此:

string myEnumStringValue = Request["somevar"];
Run Code Online (Sandbox Code Playgroud)

myEnumStringValue可以是"0","1","2"

我需要根据该字符串值返回实际的枚举常量.

我可以去创建一个接受字符串然后执行case语句的方法

case "0":
    return MyEnum.Test1;
    break;
Run Code Online (Sandbox Code Playgroud)

但是必须有一个更容易或更光滑的方式来做到这一点?

c#

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

Moose只读属性特征以及如何设置它们?

如何设置Moose只读属性特征?

package AttrTrait;
use Moose::Role;
has 'ext' => ( isa => 'Str', is => 'ro' );

package Class;
has 'foo' => ( isa => 'Str', is => 'ro', traits => [qw/AttrTrait/] );

package main;
my $c = Class->new( foo => 'ok' );
$c->meta->get_attribute('foo')->ext('die') # ro attr trait
Run Code Online (Sandbox Code Playgroud)

如果您不能在构造函数或运行时设置它,那么Read Only属性特征的目的是什么?在Moose :: Meta :: Attribute中有什么我想念的吗?有没有办法设置它meta

$c->meta->get_attr('ext')->set_value('foo') # doesn't work either (attribute trait provided not class provided method)
Run Code Online (Sandbox Code Playgroud)

perl moose

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

WinForms ComboBox DropDown和Autocomplete窗口都会出现

我在ComboBox这个代码的winforms应用程序上有一个:

comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

DataTable t = new DataTable();
t.Columns.Add("ID", typeof(int));
t.Columns.Add("Display", typeof(string));

for (int i = 1; i < 2000; i++)
{
    t.Rows.Add(i, i.ToString("N0"));
}

comboBox1.DataSource = t;
comboBox1.ValueMember = "ID";
comboBox1.DisplayMember = "Display";
Run Code Online (Sandbox Code Playgroud)

然后,当窗口打开时,我按照以下步骤操作:

  1. 单击ComboBox下拉按钮 - 显示项目列表并选择文本ComboBox
  2. 输入'5','1'...即我想使用自动完成来搜索515,516等.
  3. 您将看到自动完成窗口现在显示在下拉列表的顶部.但是,如果我将鼠标移过,它就是自动完成窗口后面的模糊下拉窗口,它接收鼠标事件,包括点击.所以我想我点击一个自动完成的项目,但实际上点击了一些我看不到的完全随机的东西.

这是一个错误ComboBox吗?如果重要的话,我正在使用Windows 7.我是以ComboBox某种方式配置错误的?

另请注意,使用KEYBOARD会使用自动完成下拉菜单.所以上/下箭头键正在使用前窗,但鼠标正在使用后窗.

在此输入图像描述

c# combobox autocomplete winforms

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

在Javascript中将参数和默认值动态绑定到现有函数

假设你有一些函数someFunc()已经在javascript中定义,可能有也可能没有定义自己的参数集.是否可以编写另一个函数来添加必需的参数并将该参数设置为someFunc()的默认值?就像是:

var someFunc = function(arg1, arg2 ...){ Do stuff...}
var addRequired = function(argName, argValue, fn) { 
    Add the required default arg to a function...
}

addRequired("x", 20, someFunc);
Run Code Online (Sandbox Code Playgroud)

现在someFunc的定义大致如下:

someFunc = function(x, arg1, arg2...) {
    x = 20;
    Do stuff...
}
Run Code Online (Sandbox Code Playgroud)

我真正想要的是不仅这个值绑定到一个函数(我已经知道如何实现),而且还将另一个对象引用绑定到同一个函数(该函数未提前知道,因为用户将定义它,但是然后用户的代码可以访问这个第二个对象引用,以便在它们自己的函数中使用).所以在我上面的简单例子中,"20"值实际上是一个对象引用.

谢谢你尽你所能的帮助.

javascript parameters binding arguments dynamic

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

单身角色在驼鹿

我正在尝试使用Perl和Moose编写单例角色.我知道MooseX :: Singleton模块是可用的,但是当我们的项目需要另一个CPAN模块时总是存在阻力.在尝试这个并遇到一点麻烦后,我想了解为什么我的方法不起作用.我写的单身人士角色如下:

package Singleton;
use Moose::Role;

my $_singleInstance;

around 'new' => sub {
    my $orig = shift;
    my $class = shift;
    if (not defined $_singleInstance ){
        $_singleInstance = $class->$orig(@_);
    }
    return $_singleInstance;
};

sub getInstance
{
    return __PACKAGE__->new();
}

1;
Run Code Online (Sandbox Code Playgroud)

当只有一个类使用单例角色时,这似乎可以找到.但是,当两个类(例如ClassA和ClassB)都使用Singleton角色时,它们都会引用共享的$ _singleInstance变量.如果我调用ClassA-> getInstance,它将返回对ClassA对象的引用.如果我稍后在同一个脚本中调用ClassB-> getInstance,它将返回对ClassA类型的对象的引用(即使我明确地为ClassB调用了getInstance方法).如果我不使用角色并实际将代码从Singleton角色复制并粘贴到ClassA和ClassB中,它似乎工作正常.这里发生了什么?

perl singleton moose

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

查询崩溃MS Access

任务: 我正在将数据库从MS Access迁移到Maximizer。为此,我必须在MS ACCESS中获取64个表并将它们合并为一个表。输出必须为TAB或CSV文件的形式。然后将其导入Maximizer。

问题: Access无法执行看起来如此复杂的查询,因为每次运行查询时它都会崩溃。

替代方案: 我已经考虑了一些替代方案,并希望在其中选择最耗时的方案,同时还要利用任何机会学习新知识。

  1. 将每个表导出为CSV并导入到SQLight中,然后使用它进行查询,以执行与ACCESS失败相同的操作(合并64个表)。
  2. 将每个表导出为CSV并编写脚本以访问每个表并将CSV合并为一个CSV。
  3. 以某种方式连接到MS ACCESS DB(API),并编写脚本以从每个表中提取数据并将其合并为CSV文件。

问题: 您有什么建议?

说明:

  1. 我正在合并表,而不是串联。每个表具有不同的结构和不同的数据。这是一个标准化的CRM数据库。公司->联系人->详细信息=〜60表的详细信息。
  2. 由于迁移数据库后将破坏Access数据库,因此我想在Access中花费尽可能少的时间。

python sql ms-access crm

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

如何创建特定于Excel的工作簿添加

我想创建一个excel添加,在其中创建一些额外的工具栏和菜单按钮.但我希望只在打开特定工作簿时加载此插件.如果任何其他工作簿打开,我不想加载Addin.

我想知道解决这个问题的可能方法是什么,以及实现这个Add in(XLA或VSTO或COM Addin)的最佳方法是什么.

我不希望用户知道我的Addin路径,加载/初始化插件所需的VbA代码.

com vba vsto excel-2007 excel-vba

5
推荐指数
2
解决办法
2936
查看次数

在子类中使用event和delegate

为什么我不能使用从Base中声明的事件?

class Program
{
    static void Main(string[] args)
    {
        Sub sub = new Sub();
        sub.log += new Base.logEvent(sub_log);
        sub.go();
    }

    static void sub_log(string message, int level)
    {
        Console.Out.WriteLine(message + " " + level);
    }
}

public abstract class Base
{
    public delegate void logEvent(String message, int level);

    public event logEvent log;
}

public class Sub : Base
{

    public void go()
    {
        log("Test", 1); // <-- this wont compile
    }
}
Run Code Online (Sandbox Code Playgroud)

c# events delegates

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

确定图像中是否使用Alpha通道

当我将图像带入我的程序时,我想确定是否:

  1. 他们有一个alpha通道
  2. 如果使用那个alpha通道

使用#1很简单Image.IsAlphaPixelFormat.但是对于#2,除了遍历每个像素之外,还有一种简单的方法可以确定至少有一个像素是否具有使用的alpha通道(即设置为其他值255)?我需要的只是一个布尔值,然后我将决定是将其保存为32位还是24位.

更新:我发现ImageFlags.HasTranslucent应该为我提供我正在寻找的东西 - 不幸的是,它根本不起作用.例如,具有至少alpha通道为66(半透明)的像素格式的PNG继续报告False(用法:) if((img.Flags & ImageFlags.HasTranslucent) == 4) ...;.我已经对所有类型的图像进行了测试,包括.bmp,其alpha值> 0且<255且仍然报告False.任何人都使用过它并知道它是否适用于GDI +?

.net c# transparency gdi+ system.drawing.imaging

13
推荐指数
5
解决办法
7296
查看次数

UIDatePicker,根据今天的日期设置最大和最小日期

如果我有一个UIDatePicker,并且我希望将最小和最大日期范围设置为三十年前到三十年之间,我该如何设置它?

iphone objective-c nsdate uidatepicker

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