小编Blo*_*ard的帖子

无效的Switch语法成功构建?

有人可以帮忙赐教吗?

我去办理了TFS的一些变更,我的办理登机手续被拒绝了.它促使我看一下我编辑过的switch语句.

我发现Visual Studio 2017声称没有编译时间问题,并允许我成功构建和部署应用程序.最重要的是,即使方法的单元测试似乎也按预期传递.

public enum PaymentStatus
{
    Issued,
    Cleared,
    Voided,
    Paid,
    Requested,
    Stopped,
    Unknown
}

public class PaymentViewModel
{
    public PaymentStatus Status { get; set; }

    ...

    public String StatusString
    {
        get
        {
            switch (this.Status)
            {
                case PaymentStatus.Cleared:
                    return "Cleared";
                case PaymentStatus.Issued:
                    return "Issued";
                case PaymentStatus.Voided:
                    return "Voided";
                case PaymentStatus.Paid:
                    return "Paid";
                case PaymentStatus.Requested:
                    return "Requested";
                case PaymentStatus.Stopped:
                    return "Stopped";
                case PaymentStatus Unknown:
                    return "Unknown";
                default:
                    throw new InavlidEnumerationException(this.Status);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,请注意"case PaymentStatus Unknown"行缺少'.' 点运算符.如上所述,该项目建立并运行; 但未能使用门控构建服务器签入. …

c# syntax gated-checkin visual-studio-2017

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

在Delphi 7中,我可以设置"调试"和"释放"模式吗?

在大多数现代IDE中,您可以使用Debug和Release构建配置,并且可以在它们之间快速切换.

在Delphi 7中,这似乎不可能.我必须手动转到项目设置并切换优化和所有调试信息.

如果有一个插件或其他类似的东西为我处理这个将是很好的.

有谁知道吗?还有其他建议吗?

编辑:我无法升级到Delphi 2007或2009,因为我们有一个必须转换的大型Delphi 7代码库.我同意这是理论上最好的解决方案:P

ide delphi delphi-7

12
推荐指数
2
解决办法
7459
查看次数

"裸型约束"一词是指什么?

最近我在泛型的背景下读到了一个术语"裸体约束".这是什么意思?我们在哪里使用它?

c# generics type-constraints

12
推荐指数
3
解决办法
2877
查看次数

Delphi:重命名无效文件夹

我有一个创建无效目录的应用程序...例如c:\Program Files\somedirectory. - 句点是目录名称的一部分.

现在,我已经尝试了所有关于在delphi中重命名文件的知识.

  • RenameFile(文件1,文件2)
  • MoveFile(文件1,文件2)
  • 等等...

我试过让Windows短路径,ExtractShortPathName但这只是返回一个空字符串.(调用commandPrompt:"RENAME ShortOldName NewName")

现在我知道我可以在cmd中手动执行它,但我不打算花时间浏览所有文件并执行它;)

这是我的一些代码:

xshortname := ExtractFileName(ExtractShortPathName(ns + oldName));
  xNewName := newName;

  cmdTxt :=  PWideChar('/C cd ' + ns);
  cmdTxt2 := PWideChar(cmdTxt + '&&' + ' RENAME ' + xshortname + ' ' + #34 + xNewName + #34);
  ShellExecute(0, nil, 'cmd.exe', cmdTxt2, nil, SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)

我知道shellExecute不是这里使用的最佳方法.我只是想让臭味发挥作用.我将担心以后优化和正确的Delphi编码.

所以我的问题是:有没有人知道一个允许我重命名无效目录的功能?

delphi directory file-rename

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

可以转换为未继承的接口吗?

为什么不能投射一个实例:

sealed class Foo
{
    public void Go() { }
}
Run Code Online (Sandbox Code Playgroud)

...到这个界面:

interface IBar
{
    void Go();
}
Run Code Online (Sandbox Code Playgroud)

......即使Foo有签名IBar

如何将实例Foo转换为IBar?假设我无法控制Foo.

c#

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

为什么regasm.exe使用错误的GUID注册我的c#程序集?

我有一个ac#assembly,我正在通过COM从Delphi(win32 native)应用程序调用它.

这适用于我测试过的所有机器,除了一台.

问题是Delphi应用程序在尝试创建COM对象时获得"Class not registered".

现在,当我查看下面的注册表时HKEY_CLASSES_ROOT\DelphiToCSharp\CLSID,列出的GUID与AssemblyInfo.cs中的程序集Guid不同.它应该是相同的 - 它在安装它的所有其他计算机上是相同的.

我试过了regasm /unregister delphitocsharp.dll,删除了注册表项.然后如果我这样做regasm delphitocsharp.dll,注册表键返回,但GUID与之前相同(即错误),Delphi仍然获得"Class not registered".

工作机器上的DelphiToCSharp.dll与非工作机器上的版本完全相同(通过md5验证).

我能想到的只是之前注册了一个旧版本的dll,并且仍然存在一些使该文件混乱的文件的残余.

我该如何修复或至少进一步诊断此问题?

.net c# delphi com regasm

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

如何在每个单元格中设置具有不同DataSource的DataGridView ComboBoxColumn?

我正在建立一个DataGridViewComboBoxColumn这样的:

var newColumn = new DataGridViewComboBoxColumn() {
    Name = "abc"
};
newColumn.DataSource = new string[] { "a", "b", "c" }; 
dgv.Columns.Add(newColumn);
Run Code Online (Sandbox Code Playgroud)

这样做:每行在该列中都有一个下拉框,填充了a,b,c.

但是,现在我想修剪某些行的列表.我试图像这样设置每行的列表:

foreach (DataGridViewRow row in dgv.Rows) {
    var cell = (DataGridViewComboBoxCell)(row.Cells["abc"]);        
    cell.DataSource = new string[] { "a", "c" };                        
}
Run Code Online (Sandbox Code Playgroud)

但是,此代码无效 - 每行仍显示"a","b","c".

我曾尝试更换new string[]new List<string>new BindingList<string>,都无济于事.

我也尝试删除设置的代码newColumn.DataSource,但是列表是空的.

我该如何正确地做这件事?

.net c# datagridview

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

哪个DI容器会满足这个要求

这是我想要的DI容器:

public class Class
{
   public Class(IDependency dependency, string data)  { }
}

var obj = di.Resolve<Class>(() => new Class(null, "test"));
Run Code Online (Sandbox Code Playgroud)

兴趣点:

  1. 可以在构造函数中解析依赖项和数据.
  2. 可以使用类型安全语法来传递构造函数参数(确切的语法可能会有所不同).是的,我可以通过从(Expression.Body作为NewExpression)获取构造函数参数来自己完成 - 但我需要一种方法来检测容器中注册的参数.

另一个主要要求是我希望自动拾取我的组件,即我不想注册类 - 我希望IoC能够选择它,因为它知道如何解决IDependency.

此外,Property Injection有时也很有用,但这是可选的.

问题实际上是关于功能的组合 - 拥有所有功能 - 类型安全,参数,自动拾取......很容易检查一个功能,但除非一个人熟悉,否则它们的组合不容易验证特定容器并了解其功能.这样的问题.

c# dependency-injection

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

ROW NUMBER()OVER

我遇到了一个有点特殊的语法,你能帮我找出它的含义吗?谢谢.

SELECT ROW NUMBER() OVER (ORDER BY Product.ProductID) FROM Product;
Run Code Online (Sandbox Code Playgroud)

此外,这失败了.我特别感兴趣ROW NUMBER() OVER.这是我第一次遇到OVER关键字.

如果您需要完整的示例,请告诉我.为了清楚起见,我稍微缩短了一点.

t-sql sql-server

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

PyData生态系统

我已经在一些地方(例如这里)阅读了有关PyData的内容,但我仍然对这个术语的含义感到困惑.

PyData是官方实体吗?(例如,是否有一个拥有/支持PyData.org的基金会?).这只是一次会议吗?或者它是否主要用于松散地引用Python包列表?

哪些包被认为是PyData生态系统的核心部分?它只是可用于处理数据的任何包吗?(那将是非常通用的).我发现的一些软件包通常与PyData相关联:

此列表是否与通常与PyData关联的包组一致?或者有任何重要的遗漏?

最后,PyData生态系统在多大程度上支持Python 3.x?假设大多数PyData生态系统与Python 3.x兼容是否安全?如果没有,哪些包不支持呢?

python numpy scipy

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