小编Ser*_*ier的帖子

枚举和匹配属性的C#命名约定

我经常发现自己实现了一个类来维护某种自己的状态属性作为枚举:我有状态类型的状态枚举和状态属性.我该如何解决这个名称冲突?

public class Car
{
  public enum Status
  {
    Off,
    Starting,
    Moving
  };

  Status status = Status.Off;

  public Status Status // <===== Won't compile =====
  {
    get { return status; }
    set { status = value; DoSomething(); }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果Status enum对于不同的类型是通用的,我会把它放在课外,问题就会解决.但Status仅适用于Car,因此在类外声明枚举是没有意义的.

在这种情况下你使用什么命名约定?

注意:在回答这个问题的评论中,对这个问题进行了部分辩论.由于这不是主要问题,因此没有太多可见性.

编辑:Filip Ekberg建议IMO针对"状态"的具体案例提供出色的解决方法.然而,我很有兴趣阅读关于枚举/属性名称不同的解决方案,如Michael Prewecki的回答.

EDIT2(2010年5月):我最喜欢的解决方案是按照Chris S的建议复数枚举类型名称.根据MS指南,这应该仅用于标记枚举.但我越来越喜欢它了.我现在也将它用于常规枚举.

.net c# enums naming-conventions

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

如何触发EC2实例并在每个实例上传/运行启动脚本?

我想自动启动一组Linux EC2实例.

基本上,我想写一个脚本/程序,它将:

  • 实例化我的给定AMI的N次出现.
  • 对于每个已启动的实例,它将上载自定义脚本并让脚本运行到实例中.

使用VMWare,我通常会使用vmrun或Vix SDK.

Amazon AWS/EC2有哪些选项?

amazon-ec2 amazon-web-services ec2-ami

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

我可以将HTML嵌入到HTML5 SVG片段中吗?

HTML5支持<svg>标记,允许将SVG嵌入到HTML中.

深入挖掘,我可以在<svg>片段中嵌入一​​些HTML 吗?例如,我想<table>在我的SVG图形的某些部分放置一个CSS .

我做了一个小测试,Chrome12不喜欢<p>里面的HTML <svg>.是否有一些技术可以使它工作(例如可能是一个html容器标签?)?

html5 svg

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

我如何知道WPF窗口的监视器

在C#应用程序中,如何确定WPF窗口是在主监视器还是其他监视器中?

.net c# wpf

43
推荐指数
4
解决办法
3万
查看次数

如何使用LINQ组合2个列表?

环境:.NET4 C#

大家好,

我想结合这两个列表:{ "A", "B", "C", "D" }{ "1", "2", "3" }

进入这一个:

{ "A1", "A2", "A3", "B1", "B2", "B3", "C1", "C2", "C3", "D1", "D2", "D3" }
Run Code Online (Sandbox Code Playgroud)

显然,我可以使用嵌套循环.但我想知道LINQ是否可以提供帮助.据我所知,Zip()在这种情况下不是我的朋友,对吧?

TIA,

.net c# linq .net-4.0

29
推荐指数
3
解决办法
2600
查看次数

在c#中确定程序员是通过IDE还是用户运行程序的最佳方法是什么?

在c#中确定程序员是通过IDE还是用户运行程序的最佳方法是什么?

c# winforms

28
推荐指数
2
解决办法
4266
查看次数

Quartz.NET与Windows计划任务.他们有多不同?

我在寻找Quartz.NET和Windows Scheduled Tasks 之间的一些比较?

他们有多不同?每个人的利弊是什么?如何选择使用哪一个?

TIA,

windows scheduling scheduled-tasks quartz.net

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

如果我调用SqlReader.Read,应该调用SqlDataReader.HasRows

试着看看if (dr.HasRows)while (dr.read())函数之前添加一个是否有益.我的意思是,从技术上讲,如果它没有行,它就不会读取,所以如果你先检查它会有关系吗?

using (SqlDataReader dr = cmd.ExecuteReader())
{
    if (dr.HasRows)
    {
        while (dr.Read())
        {
            ....do stuff here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

或者,如果你只是确保它有值提供,那么这基本上会做同样的事情......

using (SqlDataReader dr = cmd.ExecuteReader())
{
    while (dr.Read())
    {
        ....do stuff here
    }
}    
Run Code Online (Sandbox Code Playgroud)

.net c# sql methods sqldatareader

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

Visual Studio项目:如何仅为一个配置包含引用?

环境:VS2008 C#项目

我需要构建我的应用程序以在2个不同的环境中使用.在其中一个环境中,我需要使用第三方DLL程序集.

我可以使用#if块来隔离使用此DLL的代码.但是,如何有条件地在CS项目文件中包含对DLL的引用?

编辑:womp在评论中有一个很好的观点.我变成了一个单独的问题:如果从未调用引用的DLL,它是否会被加载?TIA,

c# msbuild configuration reference visual-studio

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

is_uploaded_file()的目的是什么?

文件说:

如果通过HTTP POST上传由filename命名的文件,则返回TRUE

怎么$_FILES['blah']['tmp_name']可能不是POST上传的结果?PHP创建了这个文件名.

这有助于确保恶意用户没有试图欺骗脚本处理不应该工作的文件 - 例如/ etc/passwd.

我明白我应该仔细检查文件内容和大小.但是攻击者怎么能控制上传文件的临时文件名呢?

还是is_uploaded_file()做其他检查?

谢谢你放弃了一些亮点.

php

18
推荐指数
2
解决办法
4585
查看次数