相关疑难解决方法(0)

实现INotifyPropertyChanged - 是否存在更好的方法?

微软应该已经实现了一些有趣的东西INotifyPropertyChanged,就像在自动属性中一样,只需指定{get; set; notify;} 我认为这样做很有意义.或者有任何并发​​症吗?

我们自己可以在我们的属性中实现类似'notify'的内容.是否有一个优雅的解决方案,INotifyPropertyChanged在您的班级实施或唯一的方法是通过提高PropertyChanged每个属性中的事件.

如果没有,我们可以写一些东西来自动生成一段代码来引发PropertyChanged 事件吗?

.net c# inotifypropertychanged winforms

621
推荐指数
14
解决办法
29万
查看次数

Visual Studio 2012中宏的替代方法

我在XAML开发中广泛使用宏来查看ViewModel属性.我在WCF中更多地使用它们来生成Message和DataContract属性.

令我失望的是,我构建的宏在Visual Studio 2012中无法使用.

我正在谈论的一个例子,对于VM,我会输入这样的东西.

int id;
string name;
Run Code Online (Sandbox Code Playgroud)

选择两行,运行宏并最终结束

private int _id;
private string _name;

public int Id
{
   get {return _id;}
   set
   {
      if(_id != value)
      {
        _id = value;
        RaisePropertyChanged("Id");
      }
}

public string Name
{
   if(_name != value)
   {
      _name = value;
      RaisePropertyChanged("Name");
   }
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找其他解决丢失宏的解决方案的想法.

visual-studio-macros visual-studio-2012

51
推荐指数
5
解决办法
3万
查看次数

如何避免手动实现INotifyPropertyChanged

有没有办法避免这种情况.我有很多绑定到DataGridViews的类,它们只是带有默认getter和setter的简单属性集合.所以这些类非常简单.现在我需要为它们实现INotifyPropertyChanged接口,这将增加很多代码量.是否有任何类可以继承以避免编写所有这些无聊的代码?我认为我可以从某个类继承我的类,并用一些属性装饰属性,它会发挥魔力.那可能吗?

我很清楚面向方面编程,但我更倾向于以面向对象的方式.

c# data-binding collections winforms

8
推荐指数
2
解决办法
1397
查看次数

是否存在C#预处理工具?

有没有人知道一个实用程序来预处理C#源文件而不编译它,就像在GCC中使用-E标志一样?我尝试使用GCC - 它成功地处理了#if指令,但它在任何#region指令上都会窒息......

理想情况下,我希望能够在.cs文件上运行该工具以删除任何#if评估为false的块,并且可选地能够标记是否删除/保留完整的注释#region,#pragma指令等.

为了将其置于上下文中,我希望能够发布一些(更大)项目的一部分源代码,同时删除仅与较大项目相关的部分.例如,有大量代码如下所示:

#if (SUBPROJECT)
namespace SubProject
#else
namespace CompleteProject
#endif
{
  public class SomeClass()
  {
#if (!SUBPROJECT)
    // This might call a method contained in an assembly that potentially 
    // won't be available to the sub-project, or maybe a method that hooks
    // into a C library via P/Invoke...
    string result = CallSomeCleverMethod();
#else
    // This might call a method that performs a simplified version of the …
Run Code Online (Sandbox Code Playgroud)

c# c-preprocessor

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

简单的小型INotifyPropertyChanged实现

说我有以下课程:

public MainFormViewModel
{
    public String StatusText {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

将我对StatusText的更改反映到绑定到它的任何控件的最简单最简单的方法是什么?

显然我需要使用INotifyPropertyChanged,但有没有一种很酷的方法来做到这一点,不会弄乱我的代码?需要大量文件?等等?

注意:如果这是一个骗局,那么我很抱歉.我搜索并找不到任何东西,但使用T4代码生成听起来不容易(至少设置).

wpf inotifypropertychanged

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