问题列表 - 第40645页

枚举:需要将枚举的名称,而不是其int值作为字符串

我有一个包含一大堆值的枚举(这里只显示了三个):

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)

这可能是一些简单的事情,但我似乎不时碰到这个,而不是弄清楚,我最终只是使用一个字典...无论如何,它就是,谢谢

c# enums

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

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

如何在我的Ubuntu系统上安装Repo?

我想安装repo来处理Android源文件.如何安装repo?

android repo

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

检测Java应用程序是否作为Windows管理员运行

我有一个Java应用程序.无论如何,我可以判断该进程是否在Windows 7上以管理员权限运行.

java windows privileges admin

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

从OCaml内部调用外部程序

我对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是一个简单的尝试打印文件的内容,我实际想要运行的命令有点复杂.但是,我认为如果我可以运行,我应该能够让我的真实程序运行.

unix ocaml execv

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

ReflectionTypeLoadException:Type正在尝试实现无法访问的接口

我正在使用Assembly.GetTypes()来获取插件库中定义的所有类型(因此我可以实例化插件实例).

在特定的库上,该方法引发ReflectionTypeLoadException,说:

Type <Type> is attempting to implement an inaccessible interface
Run Code Online (Sandbox Code Playgroud)

谷歌搜索它似乎是因为特定的类型实现了非公共接口.实际上它是,但Type嵌套在另一个公共类中,声明为private.

如何避免这种例外?

....

制作界面公共代码工作.是否有可能定义这种奇怪的行为是一个bug(在Assembly.GetTypes()中)?这意味着库类型无法实现受保护的交互式界面!

c# reflection typeloadexception

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

数据库的ID最佳实践

我想知道构建和存储ID的最佳实践是什么.几年前,一位教授告诉我一个身份不良的身份证制度的危险,以社会保障号码为例.特别是,因为SSN没有任何错误检测......不可能分辨出9位数字符串和有效SSN之间的区别.现在,政府机构需要使用Last Name + SSN或Birthday + SSN等内容来跟踪您的数据并确保其验证.此外,根据您出生的地点,您的社会安全号码可以预测.

现在我正在构建一个用户数据库......并且基于这个建议"userid mediumint auto_increment"将是不可接受的.特别是如果我打算使用此ID作为用户的主要标识.(例如,如果我允许用​​户更改其用户名,那么用户名将比数字用户ID更难以跟踪...需要级联外键等等.)电子邮件更改,用户名可以更改,密码更改..但是用户ID应该永远保持不变.

显然,auto_increment仅适用于surrogate_keys.也就是说,只有当您已经拥有主要识别机制时,它才是有用的快捷方式,但它不应该用作数据的"先天标识符".创建随机UUID看起来很有趣,但随机性让我失望.

所以我问:创建"主键"识别号码的最佳做法是什么?

sql language-agnostic identity auto-increment surrogate-key

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

Python:除法错误

继承我的方法:

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)

python

0
推荐指数
3
解决办法
2035
查看次数

警告的"系统"颜色(红色)

我希望在可能的情况下使用系统颜色.如何选择系统颜色中未包含的颜色?

两个SystemColors类WPF的,SystemColors类WinForms和的COLOR_*常数GetSysColorAPI函数不包含可用于警告颜色.警告通常是红色的,但不能保证它不会接近用户使用的系统颜色.

我想使用标准系统颜色在ListBox中显示项目(通常在未选中项目的白色背景上显示黑色文本,选择时为海军白色,选定未聚焦时为浅灰色白色).当一个项目有问题时(例如,与之相关的操作失败),我想让其文本变为红色以引起注意.对所有三种情况使用单色(选择,选择未聚焦,​​未选择)已经存在问题,因为我发现很难在浅灰色背景上阅读红色文字.

仅使用自定义颜色从而避免问题是不可接受的行为.用户希望程序尊重他们的设置.

如何为警告选择正确的颜色?

c# windows wpf user-interface colors

9
推荐指数
2
解决办法
1836
查看次数

Java调用方法

是否有可能知道哪种方法动态调用另一种方法?

见下文:

class a {
       public void one(){
          System.out.println(methodWhoCallsVoidOne().getName());
        }

       public void two(){
          this.one();
       }
 }
Run Code Online (Sandbox Code Playgroud)

java

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