小编MrF*_*Fox的帖子

修改getter和setter的变量

以下属性只需要为getter和setter计算一次的值

所以代替:

public bool this[int x, int y]
{
    get
    {
        return this[x * this.width + y];
    }
    set
    {
        this[x * this.width + y] = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我们能做到这一点会更好:

public bool this[int x, int y]
{
    int index = x * this.width + y;

    get
    {
        return this[index];
    }
    set
    {
        this[index] = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它不是一个大问题,可以使用内联方法.但作为一项原则,有办法吗?

c#

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

knockout click事件仅在初始化时触发

我想要一个可点击的div来切换我的底层细节视图的可见性.

<div class="header" data-bind="click: Details(!Details())">
...
</div>
<div data-bind="visible: Details()"></div>
Run Code Online (Sandbox Code Playgroud)

详细信息存储在我的挖空模型中,默认值为false.当我添加此部分时,函数被调用并且细节变得可见.然后div可以点击(悬停时不同的鼠标指针)但是淘汰模型中的值不再被更改.

任何想法为什么会这样?

events html5 knockout.js

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

如果处理了特定异常,如何防止中断

通常我希望调试器能够打破ArgumentOutOfRangeException.

但在我的try catch(ArgumentOutOfRangeException)异常已经处理,所以我希望调试器不会中断.

我试过了这个DebuggerStepThrough属性,但它仍然破坏了.

c# exception

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

检查propertyInfo是否实现了一个类

如何查找PropertyInfo是否包含特定类(因此也必须是类).我知道如何检查PropertyInfo是否属于特定类型,但这不能用于检查它是否派生类型:

public class Foo
{
    public Foo foo { get; set; }
    public Bar bar { get; set; }

    public void CheckStuff()
    {
        foreach (var property in this.GetType().GetProperties())
            Debug.WriteLine(Bar.IsOfType(property));
    }
}

public class Bar : Foo
{
    public static bool IsOfType(PropertyInfo member)
    {
        return member.PropertyType == typeof(Foo);
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:

True
False
Run Code Online (Sandbox Code Playgroud)

如何更改代码,以便第二个结果也是如此?

c# reflection

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

将默认分支更改为从 master 签出到开发

在新的存储库上,我经常发现自己对 master 分支进行了更改,当然我应该从开发分支开始。
当然,我应该在开始进行更改之前创建一个功能分支,在这种情况下,我会注意到我处于主控状态,而不是开发状态。
但是 git 中是否还有一个设置可以更改默认的克隆/签出分支来开发?

git git-clone git-checkout

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

如何在其他构造函数中调用构造函数?

我的类有很多属性,我的一个构造函数将它们全部设置好,我希望默认构造函数调用另一个属性并使用set属性.但我需要先准备参数,所以从标题中调用它将无济于事.

这是我想做的事情:

public class Test
{
    private int result, other;

        // The other constructor can be called from header,
        // but then the argument cannot be prepared.
        public Test() : this(0)
        {
        // Prepare arguments.
        int calculations = 1;

        // Call constructor with argument.
        this(calculations);

        // Do some other stuff.
        other = 2;
    }

    public Test(int number)
    {
        // Assign inner variables.
        result = number;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以这是不可能的,有没有人知道如何调用我的构造函数来设置代码内的参数?目前我正在从其他构造函数存储对象的副本并复制所有属性,这真的很烦人.

c# constructor

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

禁用元素的CSS选择器

我正在使用AngularJS来禁用/启用图像按钮.
我的css选择器显示透明不起作用.
我开始尝试它在输入元素上选择一个禁用,它确实应用了css,但不是我的div元素.
我添加了不起作用的div元素,导致以下代码:

<!DOCTYPE html>
<html>
<head>
<style> 
input:enabled {
    background: #ffff00;
}

input:disabled {
    background: #dddddd;
}
div:disabled {
    opacity: 0.4;
    filter: alpha(opacity=40); /* For IE8 and earlier */
}
</style>
</head>
<body>

<form action="">
First name: <input type="text" value="Mickey"><br>
Last name: <input type="text" value="Mouse"><br>
Country: <input type="text" value="Disneyland" disabled><br>
Password: <input type="password" name="password" value="psw" disabled><br>
E-mail: <input type="email" value="john@doe.com" name="usremail">
</form>
<div disabled="disabled">should be transparent</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

为我的AngularJS html元素添加/删除了禁用.那么如何让css应用于添加了禁用功能的div呢?

注意:我知道可以复制元素,使用ng-if显示/隐藏它们并使用类将透明度应用于它,但这非常难看.

html css css3 angularjs

0
推荐指数
2
解决办法
2411
查看次数