我将从查询字符串中获取枚举值.
例如,假设我有这个枚举:
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)
但是必须有一个更容易或更光滑的方式来做到这一点?
如何设置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) 我在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)
然后,当窗口打开时,我按照以下步骤操作:
ComboBox下拉按钮 - 显示项目列表并选择文本ComboBox这是一个错误ComboBox吗?如果重要的话,我正在使用Windows 7.我是以ComboBox某种方式配置错误的?
另请注意,使用KEYBOARD会使用自动完成下拉菜单.所以上/下箭头键正在使用前窗,但鼠标正在使用后窗.
假设你有一些函数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"值实际上是一个对象引用.
谢谢你尽你所能的帮助.
我正在尝试使用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中,它似乎工作正常.这里发生了什么?
任务: 我正在将数据库从MS Access迁移到Maximizer。为此,我必须在MS ACCESS中获取64个表并将它们合并为一个表。输出必须为TAB或CSV文件的形式。然后将其导入Maximizer。
问题: Access无法执行看起来如此复杂的查询,因为每次运行查询时它都会崩溃。
替代方案: 我已经考虑了一些替代方案,并希望在其中选择最耗时的方案,同时还要利用任何机会学习新知识。
问题: 您有什么建议?
说明:
我想创建一个excel添加,在其中创建一些额外的工具栏和菜单按钮.但我希望只在打开特定工作簿时加载此插件.如果任何其他工作簿打开,我不想加载Addin.
我想知道解决这个问题的可能方法是什么,以及实现这个Add in(XLA或VSTO或COM Addin)的最佳方法是什么.
我不希望用户知道我的Addin路径,加载/初始化插件所需的VbA代码.
为什么我不能使用从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) 当我将图像带入我的程序时,我想确定是否:
使用#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 +?
如果我有一个UIDatePicker,并且我希望将最小和最大日期范围设置为三十年前到三十年之间,我该如何设置它?
c# ×4
moose ×2
perl ×2
.net ×1
arguments ×1
autocomplete ×1
binding ×1
com ×1
combobox ×1
crm ×1
delegates ×1
dynamic ×1
events ×1
excel-2007 ×1
excel-vba ×1
gdi+ ×1
iphone ×1
javascript ×1
ms-access ×1
nsdate ×1
objective-c ×1
parameters ×1
python ×1
singleton ×1
sql ×1
transparency ×1
uidatepicker ×1
vba ×1
vsto ×1
winforms ×1