这是我的电话采访问题:是否有时间不会在使用块声明范围的对象上调用Dispose?
我的回答是否定的 - 即使在使用块期间发生异常,仍会调用Dispose.
面试官不同意并说如果using包裹在try- catch块中,那么当你进入catch块时就不会调用Dispose.
这与我对构造的理解相反,我无法找到任何支持采访者观点的东西.他是正确的还是我误解了这个问题?
我正在编写一个带有大规模数据模型的应用程序 - 作为其中的一部分,我第一次使用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)