我有一个包含一大堆值的枚举(这里只显示了三个):
public enum LookupType
{
Alignment,
Language,
ReEmbedBehavior
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个基于名为LookupType的varchar字段获取数据的方法...我想要的是将此方法的调用者限制为仅限于数据库中的查找类型...所以在我的WHERE子句的末尾,我想要将枚举名称作为字符串,而不是它的整数值.
然后,调用者将执行类似GetLookupsByLookupType(LookupType.Language)的操作,我的方法将调用为"where lookuptype ='Language'"
public List<Lookup> GetLookupsByLookupType(UnicornMedia.Core.DomainModel.Enumerations.LookupType lookupType)
{
var lookups = new List<Lookup>();
string SQL = String.Format(@"Select id, name, value, lookuptype
from lookups
where lookuptype = '{0}'", lookupType.ToString());
...<snip>...
}
Run Code Online (Sandbox Code Playgroud)
这可能是一些简单的事情,但我似乎不时碰到这个,而不是弄清楚,我最终只是使用一个字典...无论如何,它就是,谢谢
我有一个Java应用程序.无论如何,我可以判断该进程是否在Windows 7上以管理员权限运行.
我对OCaml很陌生,并试图弄清楚如何从OCaml中调用外部程序.
我一直在这里关注文档,并拨打以下电话:
Unix.execv "cat text_file";;
Run Code Online (Sandbox Code Playgroud)
这将返回以下内容:
string array -> 'a = <fun>
Run Code Online (Sandbox Code Playgroud)
我究竟如何访问返回的匿名函数?
cat text_file是一个简单的尝试打印文件的内容,我实际想要运行的命令有点复杂.但是,我认为如果我可以运行,我应该能够让我的真实程序运行.
我正在使用Assembly.GetTypes()来获取插件库中定义的所有类型(因此我可以实例化插件实例).
在特定的库上,该方法引发ReflectionTypeLoadException,说:
Type <Type> is attempting to implement an inaccessible interface
Run Code Online (Sandbox Code Playgroud)
谷歌搜索它似乎是因为特定的类型实现了非公共接口.实际上它是,但Type嵌套在另一个公共类中,声明为private.
如何避免这种例外?
....
制作界面公共代码工作.是否有可能定义这种奇怪的行为是一个bug(在Assembly.GetTypes()中)?这意味着库类型无法实现受保护的交互式界面!
我想知道构建和存储ID的最佳实践是什么.几年前,一位教授告诉我一个身份不良的身份证制度的危险,以社会保障号码为例.特别是,因为SSN没有任何错误检测......不可能分辨出9位数字符串和有效SSN之间的区别.现在,政府机构需要使用Last Name + SSN或Birthday + SSN等内容来跟踪您的数据并确保其验证.此外,根据您出生的地点,您的社会安全号码可以预测.
现在我正在构建一个用户数据库......并且基于这个建议"userid mediumint auto_increment"将是不可接受的.特别是如果我打算使用此ID作为用户的主要标识.(例如,如果我允许用户更改其用户名,那么用户名将比数字用户ID更难以跟踪...需要级联外键等等.)电子邮件更改,用户名可以更改,密码更改..但是用户ID应该永远保持不变.
显然,auto_increment仅适用于surrogate_keys.也就是说,只有当您已经拥有主要识别机制时,它才是有用的快捷方式,但它不应该用作数据的"先天标识符".创建随机UUID看起来很有趣,但随机性让我失望.
所以我问:创建"主键"识别号码的最佳做法是什么?
继承我的方法:
def geometricSum(commonRatio, firstTerm, lastTerm):
return ((firstTerm - lastTerm) * commonRatio) / (1 - commonRatio)
Run Code Online (Sandbox Code Playgroud)
口译员测试:
>>> geometricSum(1.0,1.0,100.0)
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "F:\PortablePython_1.1_py3.0.1\sumOfGeometric.py", line 2, in geometricSum
return ((firstTerm-lastTerm)*commonRatio)/(1-commonRatio)
ZeroDivisionError: float division
Run Code Online (Sandbox Code Playgroud) 我希望在可能的情况下使用系统颜色.如何选择系统颜色中未包含的颜色?
两个SystemColors类WPF的,SystemColors类WinForms和的COLOR_*常数GetSysColorAPI函数不包含可用于警告颜色.警告通常是红色的,但不能保证它不会接近用户使用的系统颜色.
我想使用标准系统颜色在ListBox中显示项目(通常在未选中项目的白色背景上显示黑色文本,选择时为海军白色,选定未聚焦时为浅灰色白色).当一个项目有问题时(例如,与之相关的操作失败),我想让其文本变为红色以引起注意.对所有三种情况使用单色(选择,选择未聚焦,未选择)已经存在问题,因为我发现很难在浅灰色背景上阅读红色文字.
仅使用自定义颜色从而避免问题是不可接受的行为.用户希望程序尊重他们的设置.
如何为警告选择正确的颜色?
是否有可能知道哪种方法动态调用另一种方法?
见下文:
class a {
public void one(){
System.out.println(methodWhoCallsVoidOne().getName());
}
public void two(){
this.one();
}
}
Run Code Online (Sandbox Code Playgroud)