小编Joa*_*nge的帖子

.NET中CIL知识的优势

理解CIL有什么好处?

你必须知道装配才能理解它吗?这些文件中的代码看起来很相似.

我如何了解更多信息?有关它的任何书籍,如Jon Skeet的C#书吗?

.net c# cil

7
推荐指数
3
解决办法
2317
查看次数

扩展方法解析

我为String编写了一个扩展方法来获取一个char参数string.Remove(char).但是当我使用它时,它改为调用默认string.Remove(int)方法.

实际方法的存在不应该比隐式转换具有更高的优先级吗?

.net c# extension-methods

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

如果不使用Object类型,.NET是否能够正常运行?

我问这个是因为看起来像使用Object似乎是一个解决某些问题的简单方法,比如"我没有特定的类型,所以使用Object"等.

这也让我感到好奇的原因是因为我的一位同事告诉我,如果.NET是一个真正的面向对象的平台,那么它就不必拥有像Object这样的所有类型.

因此,如果.NET没有Object类型,那么解决发生问题的替代方法是什么才能使其功能相同?

另外需要注意的是,这不是打击.NET,因为我每天都在工作中使用它.只想了解更多信息.

编辑:我记得的另一个注意事项是因为Object类型存在,它的影响遍及整个.NET.像IEnumerable一样存在但IEnumerable <T>.在许多情况下,您必须实现通用和非通用版本的事物等.

.net c# types type-systems base-class-library

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

使用隐式/显式转换而不是构造函数的原因是什么?

一个例子是:

XNamespace ns = "my namespace"
Run Code Online (Sandbox Code Playgroud)

为什么不?:

XNamespace ns = new XNamespace ( "my namespace" )
Run Code Online (Sandbox Code Playgroud)

使用隐式/显式转换而不是构造函数背后的想法是什么?方便?

有这方面的指导方针吗?

.net c# constructor type-conversion base-class-library

7
推荐指数
2
解决办法
2123
查看次数

关于命名bool属性的良好指南

通常,如果有一个属性获取/设置状态值,我使用"是",如:

Visibility:
.IsVisible
Run Code Online (Sandbox Code Playgroud)

但是对于获取/设置动作的属性,最好使用什么?喜欢:

Casting shadows:
.CastShadows
Run Code Online (Sandbox Code Playgroud)

我应该使用:

.DoesCastShadows
Run Code Online (Sandbox Code Playgroud)

还有更好的选择吗?

.net properties naming-conventions

7
推荐指数
2
解决办法
1506
查看次数

一个类型的多个索引属性?

在C#中可以有这样的东西吗?我不太确定:

class Library
{
    public string Books[string title]
    {
        get{return this.GetBookByName(string title);}
    }

    public DateTime PublishingDates[string title]
    {
        get{return this.GetBookByName(string title).PublishingDate;}
    }
}
Run Code Online (Sandbox Code Playgroud)

所以它可以这样使用:

myLibrary.Books["V For Vendetta"]
myLibrary.PublishingDates["V For Vendetta"] = ...
Run Code Online (Sandbox Code Playgroud)

所以我需要在我的框架中实现的完整成员方法(通过调用它们)是:

GetCustomStringValue (key)
GetCustomIntValue (key)
GetCustomBoolValue (key)
GetCustomFloatValue (key)
SetCustomStringValue (key)
SetCustomIntValue (key)
SetCustomBoolValue (key)
SetCustomFloatValue (key)
Run Code Online (Sandbox Code Playgroud)

我想用我自己的类型实现它们更清洁.

.net c#

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

使用使用范围时,是否必须调用Close方法?

using ( var sw = new StreamWriter ( file ) )
{
    XmlSerializer xs = new XmlSerializer ( typeof ( T ) );
    xs.Serialize ( sw, data );
    sw.Close()
}
Run Code Online (Sandbox Code Playgroud)

我知道你不必打电话Dispose但是你必须打电话给这个Close方法sw吗?

.net c# dispose

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

Ctrl + PageUp/PageDown是否在Visual Studio 2010中工作?

我检查了默认快捷方式,它们显示在全局上下文中,但我仍然无法使用这些键在选项卡之间切换.

任何想法为什么他们不工作?

在此输入图像描述

visual-studio-2010

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

如何在WPF中刷新绑定?

我有一些ObservableCollections绑定到一些WPF控件,它们工作正常.我有一个功能,我通过重新分配完全替换这些ObservableCollections并再次填充它们,但在这之后,WPF控件不会更新.

或者这个绑定连接只在启动时建立一次,然后我永远不应该重新初始化ObservableCollections,但只改变它们?

编辑:

public partial class MainWindow : Window
{
    ObservableCollection<EffectViewModel> effects;
    public ObservableCollection<EffectViewModel> Effects
    {
        get { return this.effects; }
        set
        {
            this.effects = value;
            this.RaisePropertyChanged ( "Effects" );
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
    void RaisePropertyChanged ( string name )
    {
        var handler = this.PropertyChanged;
        if ( handler != null )
            handler ( this, new PropertyChangedEventArgs ( name ) );
    }
}

public void LoadEffects ( string path, string filename )
{
    //returns new ObservableCollection<EffectViewModel> ( );
    this.Effects …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf

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

如何在.NET中反转混淆?

混淆只是关于非公共变量/成员的名字吗?如果是这样,是否有可能编写一个至少将这些名称更改为"variable1"等更易读的名称的应用程序,然后提取仍然可以编译的整个代码?

.net c# obfuscation

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