问题列表 - 第12659页

调试ClickOnce部署功能

我正在使用ClickOnce部署C#.NET应用程序,我编写了代码以编程方式更新应用程序(不使用项目发布设置中的选项).

但是,我想在部署之前测试此代码的功能(出于显而易见的原因).我该怎么做呢?代码检查应用程序是否已部署网络,并且在运行调试会话时此标志为false.并且访问ApplicationDeployment.CurrentDeployment会导致抛出异常.

.net c# deployment clickonce

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

当IDENTITY_INSERT设置为OFF时,无法在表'table'中为identity列插入显式值

执行以下脚本时出现以下错误.什么是错误,以及如何解决?

Insert table(OperationID,OpDescription,FilterID)
values (20,'Hierachy Update',1)
Run Code Online (Sandbox Code Playgroud)

错误:

服务器:消息544,级别16,状态1,行1

当IDENTITY_INSERT设置为OFF时,无法在表'table'中为identity列插入显式值.

sql sql-server sybase

322
推荐指数
13
解决办法
68万
查看次数

从Python dict中删除无值

新手到Python,所以这看起来很傻.

我有两个词:

default = {'a': 'alpha', 'b': 'beta', 'g': 'Gamma'}
user = {'a': 'NewAlpha', 'b': None}
Run Code Online (Sandbox Code Playgroud)

我需要使用用户中存在的值更新我的默认值.但仅限于那些值不等于None的人.所以我需要找回一个新的词典:

result = {'a': 'NewAlpha', 'b': 'beta', 'g': 'Gamma'}
Run Code Online (Sandbox Code Playgroud)

python

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

Git并在多个分支机构工作

我有几个Git分支:'实验','某事'和'主人'.

我切换到'实验'分支.我注意到一个与"实验"无关的错误,属于"某事"中的变化.我该如何解决?

我想我应该转向'某事',修复bug,提交然后再回到'实验'.我应该如何从'某些'中做出微小的改变并将其应用于'master'和'experimental',以便在切换到这些分支时我不必再次修复bug?

git version-control branch

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

堆叠和堆碰撞时会发生什么

我很想知道堆栈和堆碰撞时会发生什么.如果有人遇到过这个,请他们解释一下这个场景.

提前致谢.

c c++ memory heap stack

55
推荐指数
4
解决办法
1万
查看次数

是否在存储在堆栈中的函数内声明了const数组?

如果这是在一个函数中声明的,它会在堆栈中声明吗?(它是const是让我惊讶的原因)

void someFunction()
{

     const unsigned int actions[8] = 
     {       e1,
             e2,
             etc...
     };
 }
Run Code Online (Sandbox Code Playgroud)

c++ stack

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

从List <int>返回字符串的最优雅方式

什么是从列表中返回字符串的最优雅的方法ok,是的,我知道我可以做类似的事情

public string Convert(List<int> something)
{
    var s = new StringBuilder();
    foreach(int i in something)
        s.AppendFormat("{0} ", i);

    return s.ToString();
}
Run Code Online (Sandbox Code Playgroud)

但我确定有一种方法可以用lambdas做到这一点我也尝试追加到一个字符串构建器,但这不是做什么预期

c#

12
推荐指数
4
解决办法
6560
查看次数

如何使用Jquery更改链接的href属性

可能重复:
如何使用jQuery更改超链接的href

我有这个链接:

<a id="myLink_33" href="javascript:toggleMe(1);">Toggle</a>
Run Code Online (Sandbox Code Playgroud)

如何href使用Javascript/jquery 更改此链接的属性,以便链接变为:

<a id="myLink_33" href="javascript:toggleMe(0);">Toggle</a>
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

.NET:用于字符串键的切换与字典

我有一种情况,我有一个业务对象,有大约15种不同类型的属性.业务对象还必须实现具有以下方法的接口:

object GetFieldValue(string FieldName);
Run Code Online (Sandbox Code Playgroud)

我可以看到实现此方法的两种方法:

使用switch语句:

switch ( FieldName )
{
    case "Field1": return this.Field1;
    case "Field2": return this.Field2;
    // etc.
}
Run Code Online (Sandbox Code Playgroud)

使用字典(SortedDictionary或HashTable?):

return this.AllFields[FieldName];
Run Code Online (Sandbox Code Playgroud)

哪个会更有效率?

补充:忘了说.此方法用于在网格中显示项目.网格将为每个属性都有一列.通常会有超过1000个项目的网格.这就是为什么我关注性能.

新增2:

这是一个想法:混合方法.创建一个静态字典,其中键是属性名称,值是数组中的索引.在应用程序启动时,字典仅填充一次.每个对象实例都有一个数组.所以,查找将是:

return this.ValueArray[StaticDictionary[FieldName]];
Run Code Online (Sandbox Code Playgroud)

字典填充算法可以使用反射.然后将相应地实现属性本身:

public bool Field1
{
    get
    {
        object o = this.ValueArray[StaticDictionary["Field1"]]; 
        return o == null ? false : (bool)o;
    }
    set
    {
        this.ValueArray[StaticDictionary["Field1"]] = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到这个问题吗?

它也可以更进一步,ValueArray/StaticDictionary可以放在一个单独的泛型类型中ValueCollection<T>,其中T将指定反射的类型.ValueCollection还将处理尚未设置任何值的情况.然后可以将属性简单地写为:

public bool Field1
{
    get
    {
        return (bool)this.Values["Field1"];
    }
    set
    {
        this.Values["Field1"] = value;
    } …
Run Code Online (Sandbox Code Playgroud)

.net dictionary switch-statement

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

MVVM ViewModel应该执行类型转换/验证吗?

我们刚刚进入WPF中的MVVM.

我们已经使用我们在视图中绑定的"强类型"属性(int,double?等)实现了我们的ViewModel.

大多数类型转换都可以正常工作,因此输入数据非常简单.但是我们遇到验证问题.

例如,如果在绑定到数字属性的文本框中输入非数字值,则转换失败,永远不会设置该属性,并且我们永远不会有机会向用户提供正确的反馈.更糟糕的是,该属性保留其当前值,导致视图中显示的内容与ViewModel中实际显示的内容不匹配.

我知道,所有这些都可以通过价值转换器来处理.但我已经看到了一些意见,认为转换不应该是视图的责任.在视图中输入的是字符串,转换,验证等应该是ViewModel的职责(所以参数是这样).

如果是这样,我们应该将ViewModel上的大多数属性重写为字符串,并通过IErrorInfo接口提供错误信息.它肯定会在视图中使更简单,更精简的XAML.另一方面,从View设计者的角度来看,转换,验证等将不那么具有说明性,明确性和灵活性.

在我们看来,这两种方法根本不同,所以在我们决定之前,我们希望在这个问题上有一些明智的SO意见.

那么:ViewModels是否应该向视图公开一个简化的"基于文本"的界面并在内部处理转换?或者ViewModel属性是否应该公开实际的数据类型,将这些杂项留给视图来处理?

更新:

很难在这里挑选一个胜利者,但我终于找到了一个或多或少像我一样的人.

具体来说,我们决定保持键入ViewModel属性.其主要原因是它在视图设计中提供了灵活性,并且在XAML中具有显式,声明性转换/格式化的强大功能.

我注意到一个假设,你会在这方面不同意我们,视图的设计是固定的和准备好的.因此,不需要在视图中做出关于转换,格式化等的决定.但是我们的过程是一个敏捷的过程,而且我们还没有预先知道用户界面的所有细节.

事实上,在此过程中留下UI的细节留下了创造空间,而且,在我看来,即使是精心设计的设计也总是会在整个实施过程中变形.

所有这一切的重点在于,虽然业务规则实施当然属于ViewModel,但在我们看来,简单的转换和格式化是一种观点.这可能听起来像异端,但我实际上并不认为视图中的类型转换根本不需要单元测试(所以我们对实际的类型转换器进行单元测试).

总而言之,这是一个很好的讨论,伙计们,有良好的表达,知情的意见.谢谢.

validation wpf type-conversion mvvm

38
推荐指数
4
解决办法
4554
查看次数