草庐IT

properties

全部标签

C# 验证 : IDataErrorInfo without hard-coded strings of property name?

实现IDataErrorInfo的最佳做法是什么?无论如何都可以在没有属性名称硬编码字符串的情况下实现它? 最佳答案 通用验证例程的基类您可以使用DataAnnotations如果您在IDataErrorInfo实现中做了一些futzing。例如,这是我经常使用的基本View模型(来自Windows窗体,但您可以推断):publicclassViewModelBase:IDataErrorInfo,INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropert

c# - OData 和 WebAPI : Navigation property not present on model

我正在尝试使用EntityFramework、WebAPI、OData和Angular客户端组合一个简单的玩具项目。一切正常,除了我在其中一个模型上放置的导航属性似乎不起作用。当我使用$expand调用我的API时,返回的实体没有它们的导航属性。我的类是Dog和Owner,看起来像这样:publicclassDog{//Properties[Key]publicGuidId{get;set;}publicStringName{get;set;}[Required]publicDogBreedBreed{get;set;}publicintAge{get;set;}publicintWe

c# - .NET 属性生成 "must declare a body because it is not marked abstract or extern"编译错误

我有一个.NET3.5(目标框架)网络应用程序。我有一些看起来像这样的代码:publicstringLogPath{get;privateset;}publicstringErrorMsg{get;privateset;}它给我这些行的编译错误:"mustdeclareabodybecauseitisnotmarkedabstractorextern."有什么想法吗?我的理解是这种风格的属性在.NET3.0中是有效的。谢谢!原来问题出在我的.sln文件本身。尽管我在构建选项中更改了目标版本,但在.sln文件中,我发现了这一点:TargetFramework="3.0"将其更改为“3.5

c# - 如何在 C# 中减去两个通用对象 (T - T)(示例 : DateTime - DateTime)?

我写了一个通用类:publicclassIntervalwhereT:IComparable//forcheckingthatStart我将此类与DateTime、int等一起使用。我需要一个返回持续时间的Duration属性:publicobjectDuration{get{returnEnd-Start;}}但是当这个属性包含在我的类中时,编译器会在-运算符上引发一个逻辑错误。我该怎么做才能正常实现这个目标,或者我应该忽略它? 最佳答案 尝试这样的事情:staticvoidMain(string[]args){Tuplevalu

c# - 属性和方法之间的界线应该在哪里?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:PropertiesvsMethods在许多情况下,某物应该是属性还是方法是显而易见的,但有些项目可能会被认为是不明确的。明显的特性:“姓名”“长度”显而易见的方法:“发送消息”“打印”不明确:“有效”/“有效”/“有效”“InBounds”/“IsInBounds”/“CheckBounds”"AverageChildValue"/"CalcAverageChildValue"“颜色饱和度”/“设置颜色饱和度”我想我会倾向于模棱两可的方法,但有人知道有助于决定这一点的规则或惯例吗?例如。所有属性都应该是O(

c# - 属性 setter 的 Visual Studio DebuggerStepThrough

我不想禁用VisualStudio对所有异常的正常处理。我正在寻找一种方法来忽略由特定属性的setter引发的异常。我知道[DebuggerNonUserCode]和[DebuggerStepThrough],但它们似乎不适用于属性,或者更具体地说是setter。这可能吗? 最佳答案 我相信您遇到的问题是您试图将特性应用于属性而不是单个访问器。访问器是实际的方法和属性需要去的地方。例如intProperty{[DebuggerNonUserCode]get{...}[DebuggerNonUserCode]set{...}}

c# - C# 中的内部属性 setter

我正在尝试找出解决此问题的好方法。我有一个实现ICustomer接口(interface)的Customer类。这个接口(interface)有很多属性:publicinterfaceICustomer{stringFirstName{get;set;}stringLastName{get;set;}}不过,我只希望某些类能够设置这些属性;即,项目中的那些类。所以我考虑将setter设置为internal:publicclassCustomer:ICustomer{stringFirstName{get;internalset;}stringLastName{get;internals

C# - 递归/反射属性值

在C#中执行此操作的最佳方法是什么?stringpropPath="ShippingInfo.Address.Street";我将有一个属性路径,就像上面从映射文件中读取的那样。我需要能够询问Order对象下面代码的值是什么。this.ShippingInfo.Address.Street平衡性能与优雅。所有对象图关系都应该是一对一的。第2部分:如果它是List或类似的东西,添加它获取第一个的能力有多难。 最佳答案 也许是这样的?stringpropPath="ShippingInfo.Address.Street";objectp

c# - "Getters should not include large amounts of logic."是真是假?

我倾向于假设getter只不过是围绕一组相当轻量级的指令的访问控制包装器,用于返回一个值(或一组值)。因此,当我发现自己编写的setter更长、更耗CPU时,我觉得也许这不是最明智的做法。在我自己的代码中调用getter(特别是让我们引用C#,其中方法调用与getter调用之间存在语法差异)时,我隐含地假设它们是轻量级的——但实际上这可能不是案例。对此的普遍共识是什么?除了使用其他人的库之外,您是否编写heavygetters?还是您倾向于将较重的getter视为“完整方法”?附言。由于语言差异,我预计对此会有很多不同的想法...... 最佳答案

c# - 监视 WPF 中 Telerik ScheduleView 控件的属性更改

我有一个类(WPF控件)的2个属性:Horizo​​ntalOffset和VerticalOffset(均为公共(public)Double)。每当这些属性发生变化时,我想调用一个方法。我怎样才能做到这一点?我知道一种方法-但我很确定这不是正确的方法(使用非常短的滴答间隔的DispatcherTimer来监视属性)。编辑更多上下文:这些属性属于telerikscheduleview控件。 最佳答案 利用控件的INotifyPropertyChanged接口(interface)实现。如果控件名为myScheduleView://su