小编Bri*_*ntz的帖子

VS2012生产力电动工具固定标签在运行时关闭

如果我打开一个保存的项目,其中固定的标签从我上次会话中恢复,当我下次运行我的解决方案时,固定的标签将取消固定.有没有办法解决这个问题?我把它们固定是有原因的,随着解决方案的发展,它变得非常令人沮丧.

productivity-power-tools visual-studio-2012

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

Foreach Cache IEnumerable吗?

假设SomeMethod有签名

public IEnumerable<T> SomeMethod<T>();
Run Code Online (Sandbox Code Playgroud)

两者之间有什么区别吗?

foreach (T tmp in SomeMethod<T>()) { ... }
Run Code Online (Sandbox Code Playgroud)

IEnumerable<T> result = SomeMethod<T>();

foreach (T tmp in result) { ... }
Run Code Online (Sandbox Code Playgroud)

换句话说,结果SomeMethod<T>是缓存在第一个语句上还是会在每次迭代时进行评估?

c# ienumerable

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

C#泛型:修改派生类中隐藏的继承成员

假设我有以下类结构:

public class A {
    public string Name { get; set; }
}

public class B : A {
    public new string Name {
        get { return base.Name; }
        set { base.Name = value + " set in B"; }
    }
}

public static class Test {
    public static void SetAndPrintName<T>(T value, string name) where T : A {
        value.Name = name;

        Console.WriteLine(value.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我希望运行以下代码的结果:

Test.SetAndPrintName(new A(), "a");
Test.SetAndPrintName(new B(), "b");
----
a
b set in B
Run Code Online (Sandbox Code Playgroud)

相反,我得到:

a …
Run Code Online (Sandbox Code Playgroud)

c# generics

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