小编Ada*_*ord的帖子

是否存在不会为"使用"块调用Dispose的情况?

这是我的电话采访问题:是否有时间不会在使用块声明范围的对象上调用Dispose?

我的回答是否定的 - 即使在使用块期间发生异常,仍会调用Dispose.

面试官不同意并说如果using包裹在try- catch块中,那么当你进入catch块时就不会调用Dispose.

这与我对构造的理解相反,我无法找到任何支持采访者观点的东西.他是正确的还是我误解了这个问题?

c# dispose using

66
推荐指数
7
解决办法
2557
查看次数

在WPF MVVM中,我是否有必要将所有要绑定的属性作为依赖项属性包装?

我正在编写一个带有大规模数据模型的应用程序 - 作为其中的一部分,我第一次使用MVVM模式.有很多用于管理各种实体的屏幕,因此有很多视图模型.我发现每个视图模型都将我正在使用的POCO实体的每个属性包装在依赖项属性中,这样我就可以将它绑定到编辑器字段,然后在用户提交更改时将其写回实体.这对我来说感觉就像是一大堆额外的腿部工作,我不禁想知道我是否错过了这一点,或者是否有更简单的方法来实现我的目标.举个例子,我有一个地址视图模型:

public class AddressViewModel : EntityViewModel<Address>
{
    #region Properties

    public string AddressLine1
    {
        get { return (string) GetValue(AddressLine1Property); }
        set { SetValue(AddressLine1Property, value); }
    }

    // Using a DependencyProperty as the backing store for AddressLine1.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty AddressLine1Property =
        DependencyProperty.Register("AddressLine1", typeof (string), typeof (AddressViewModel), new PropertyMetadata(string.Empty, HandleAddressChange));

    private static void HandleAddressChange(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        var vm = d as AddressViewModel;
        if (vm != null)
        {
            vm.OnPropertyChanged(AddressAsSingleLineStringPropertyName);
        }
    }

    public …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm

3
推荐指数
2
解决办法
721
查看次数

标签 统计

c# ×2

dispose ×1

mvvm ×1

using ×1

wpf ×1