Tag:

干(不要重复自己)和如果分配

我想我忘记了一些明显的东西但是我似乎无法找到一种方法来分配一个值,如果它确认一个条件尽可能保持DRY …一些代码来解释我的意思… a = (b > 1) ? b : c; 甚至a = (a > 1) ? a : b; a = (a > 1) ? a : b; 所以当然这里没什么大不了的,但如果要用方法调用替换,(可能是那里的收益率返回)或其他什么,那么我就要调用它两次…… 我只看到将它存放在一个变量中,然后就像上面的代码一样…… 有什么好主意吗? 编辑以便更好地理解:假设我在xml文件中搜索一个值,使用空检查(?。?[])等等 string store_no = myXmlNode.SelectSingleNode(“aChildNode”)?.SelectSingleNode(“myNode”)?.Attributes?[“store_no]?.Value; 所以在这里我将它存储在一个变量中,以便我可以稍后测试它的值。 如果我想检查一个特定的store_no!我将不得不做类似的事情 store_no = (store_no==”STORE23”)? store_no : “unknown”; …是的,不确定这个例子是否足够明确,但这个想法就在这里; 我可能不想将数据存储在变量(例如巨大的数据块)中是否有办法获得相同的结果?

如何在模型和ViewModel中“干掉”C#属性?

这个问题的灵感来自我与ASP.NET MVC的斗争,但我认为它也适用于其他情况。 假设我有一个ORM生成的模型和两个ViewModel(一个用于“详细信息”视图,一个用于“编辑”视图): 模型 public class FooModel // ORM generated { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string EmailAddress { get; set; } public int Age { get; set; } public int CategoryId { get; set; } } 显示ViewModel […]

我可以inheritance构造函数吗?

我知道在C#中inheritance构造函数是不可能的,但是可能有办法做我想做的事情。 我有一个由许多其他类inheritance的基类,它有一个Init方法,它使用1个参数进行一些初始化。 所有其他inheritance类也需要这个初始化,但我需要为所有这些创建单独的构造函数,如下所示: public Constructor(Parameter p) { base.Init(p); } 这完全违反了DRY原则! 如何在不创建数十个构造函数的情况下初始化所有必需的东西?