小编kro*_*mon的帖子

如何将一个Git存储库重新绑定到另一个存储库?

我有一个Git存储库(A),它包含项目的开发直到某一点.然后我丢失了这个回购A打开的USB记忆棒.幸运的是,我有一个最新提交的备份,所以我可以稍后创建一个新的存储库(B),我导入最新项目的状态并继续开发.现在我恢复了丢失的USB记忆棒,所以我有两个Git存储库.

我想我不得不以某种方式将回购B重新命名为回购A,但我不知道如何做到这一点,也许使用fetch/pull和rebase?

git merge repository rebase

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

WPF绑定 - 空字符串的默认值

如果绑定字符串为空,是否有标准方法为WPF绑定设置默认值或回退值?

<TextBlock Text="{Binding Name, FallbackValue='Unnamed'" />
Run Code Online (Sandbox Code Playgroud)

FallbackValue似乎只在踢Name空,但不是当它被设置为String.Empty.

c# wpf xaml binding

39
推荐指数
3
解决办法
8万
查看次数

MVVM/NHibernate - 如何进行动态模型验证?

我正在使用MVVM模式构建一个C#WPF应用程序.我有使用NHibernate来保存我的域模型的存储库类.

我的模型由一个更大的树结构组成(Recipe包含Operations的Phases).操作和阶段都包含一个动态的键值映射列表IDictionary<string, string>.对应的NHibernate映射Operation

<class name="Operation" table="operations">
  <id column="id" type="int" generator="native" />
  <property name="Name" column="name" />

  <map name="Parameters" table="operation_params">
    <key column="operation" />
    <index column="param" type="string" />
    <element column="value" type="string" />
  </map>

  <list name="Phases" cascade="all-delete-orphan">
    <key column="operation" />
    <index column="`index`" />
    <one-to-many class="Phase" />
  </list>
</class>
Run Code Online (Sandbox Code Playgroud)

现在,这部分很简单,效果很好.的Operation类目前是一个POCO几乎没有逻辑的内部,一个简单的数据容器.


我的问题是:我必须根据我的应用程序从.xml文件中读取的外部模式验证参数.模式包含对单个参数(范围,有效值等)的限制以及几个参数之间的依赖关系(即,有效值根据另一个参数的值而变化).

集成验证逻辑的最佳方法是什么?我在最近几天看了很多,直到现在,我偶然发现了以下几种选择:

  1. 将验证逻辑添加到模型类本身.

    为此,我不知道如何将验证模式正确地注入到NHibernate创建的对象中.我不需要一直使用验证功能,只有当用户正在编辑参数或我正在导入操作时(例如从备份中).那么也许我可以在模型类中实现实际的验证逻辑,并在我真正需要验证时使用属性注入验证规则?将该功能添加到我使用NHibernate存储的模型类中,或者模型类是否保持"哑",这是一种良好的做法吗?

  2. 为包装我的Operation对象的验证逻辑创建一个装饰器类.

    这样我每次需要验证时都会使用包装器,而只需要显示它就可以使用裸模型类.我的问题是我的ViewModel类已经是包装器,所以我会在这里得到另一层包装.此外,由于Operation类是较大树结构(配方/操作/阶段)的一部分,我需要为集合创建包装器,并将集合更改映射回底层集合,这可能是一项复杂的任务.

  3. 创建一个服务类,每当我想验证它时,我都会调用该服务.

    我在这里看到的问题是该服务是无状态的,因此每次用户更改单个参数时都必须重新验证整个参数列表.这似乎不是最好的方法,特别是当我想在参数的验证状态发生变化时为UI触发某种更改事件时.

我的问题的常见方法是什么?是否有一种我还没有找到的模式,这完全是我需要的?我的意思是,有很多实现依赖于外部模式定义进行验证(阅读:XML/XSD和类似的文档结构),只需要有一些天才已经找到了解决我问题的完美解决方案;-)帮帮我吧!

c# nhibernate validation wpf mvvm

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

德尔福的sprintf?

有没有人知道Delphi 的C/C++ printf的100%克隆?是的,我知道系统.格式化功能,但它处理的东西有点不同.

例如,如果要将3格式化为"003",则在C中需要"%03d",而在Delphi中需要"%.3d".

我有一个用Delphi编写的应用程序,它必须能够使用C格式字符串格式化数字,所以你知道一个代码片段/库吗?

提前致谢!

delphi printf delphi-2006

5
推荐指数
2
解决办法
8640
查看次数

标签 统计

c# ×2

wpf ×2

binding ×1

delphi ×1

delphi-2006 ×1

git ×1

merge ×1

mvvm ×1

nhibernate ×1

printf ×1

rebase ×1

repository ×1

validation ×1

xaml ×1