Tag: 属性

Resharper将自动属性转换为完整属性

我在这里找到了相反的结果 ,但是我需要经常从auto-property更改为full属性 – 是否可以自动化(并且可能使用快捷方式): 来自Auto-Property public string FirstName { get; set; } 对具有支持领域的财产 private string _firstName; public string FirstName { get { return _firstName; } set { _firstName = value; } } 显然,我会进一步改变完整的财产……

ASP.NET MVC使用UIHint属性生成DropDownList

我想知道如何使用UIHint属性生成DropDownList。 我已经定制了一些预定义的属性,但我不知道如何继续生成DropDownLists。 以下是我对最后一个的处理方式,我希望以类似的方式使用它: public class CartProduct { [Required] [UIHint(“Spinner”)] public int? Quantity { get; set; } [Required] [UIHint(“MultilineText”)] public string Description { get; set; } }

获取列表中属性的名称

例 public class MyItems { public object Test1 {get ; set; } public object Test2 {get ; set; } public object Test3 {get ; set; } public object Test4 {get ; set; } public List itemList { get { return new List { Test1,Test2,Test3,Test4 } } } } public void LoadItems() { foreach (var item […]

了解自动实现的属性

我有使用自动实现的属性的简单类: Public Class foo { public foo() { } public string BarName {get; set;} } 我显然在我的类中使用变量BarName,现在需要在设置属性值时添加逻辑(它必须全部为大写,如图)。 这是否意味着我现在需要为BarName创建一个私有变量,例如_BarName,并将我的类中使用的当前BarName变量更改为_BarName? Public Class foo { public foo() {} private string _BarName = “”; public string BarName { get {return _BarName;} set {_BarName = Value.ToString().ToUpper();} } } 我试图确保我理解使用自动实现的属性的含义,以及当我/如果我需要更改某些内容时它会带来什么。 我假设重构,如上所示,不是一个突破性的变化,因为该属性基本上保持不变; 它只是在类中做了一些工作,以保持这种方式并添加所需的逻辑。 另一个可能更有意义的例子是我需要在使用setter或getter时调用某个方法; 更多然后改变价值。 这似乎是设置属性的代码行和行的公平交易。

entity framework – 循环访问属性以进行更新

我试图找到一种方法来循环EF对象的属性并更新这些属性的值。 更具体地说,我有50个字段,最多由50个下拉列表填充。 所有50个可能需要或可能不需要填充。 为了解决这个问题,我有一个转发器,最多可以创建50个DDL。 用户将为每个值选择值,然后按更新按钮。 我循环遍历转发器中的项目,并可以计算我在转发器中的迭代次数。 我还想使用此计数来了解我需要更新的字段。 例如,DDL1 = FIELD1,DDL2 = FIELD2,….)。 这是我想要做的一个例子: using (Data.Entities dataContext = new Data.Entities) { var efObject = dataContext.EFData.Where(c => c.ID = [SOMEID]).First(); int posCount = 0; foreach (RepeaterItem rep1 in repeaterControl.Items) { DropDownList ddlControl= (DropDownList)rep1.FindControl(“ddlControl”); //Here is where I need to update a field //Something like: efObject.Field# = ddlControl.SelectedValue; […]

从C#中的自定义字段属性获取值

今天早上我开始尝试使用自定义字段属性的快速练习。 尝试了很多东西并搜索了许多例子(大多数涉及类而不是字段属性),我正式陷入困境。 我的代码如下。 一个特点是该类是使用classbuilder在FileHelpers中构建的。 我的各种部分成功尝试确实设法从这个类中获取字段名,所以我相信这部分工作正常。 我想做什么(根据代码中的注释)是a)遍历字段,b)为每个字段运行,查看DBDataTypeAttribute属性是否存在,以及c)看似最难的部分 – 从属性中获取值(FieldType字符串) ,和AllowNulls bool)。 任何评论赞赏! 标记 class Program { static void Main(string[] args) { // Desired output: System.Type userType = null; userType = ClassBuilder.ClassFromString(@” public class ExpenseReport { [FieldQuoted(‘””‘, QuoteMode.OptionalForRead, MultilineMode.AllowForRead)] [DBDataTypeAttribute(FieldType = “”varchar(1000)””, AllowNulls = true)] public String UniqueID; [FieldQuoted(‘””‘, QuoteMode.OptionalForRead, MultilineMode.AllowForRead)] public String ERNum; }”); object[] attributes; […]

从对象获取属性信息,而不将属性名称作为字符串

出于某些原因,我需要创建一个PropertyInfo实例的Dictionary,它对应于某些类的属性(让我们称之为EntityClass )。 好的,我可以使用typeof(EntityClass).GetProperties() 。 但我还需要确定某些特定属性的值(在编译时已知)。 通常我可以做以下其中一项: EntityInstance.PropertyX = Value; typeof(EntityClass).GetProperty(“PropertyX”).SetValue(EntityInstance, Value, null); 为了填满我的字典,我需要使用PropertyInfo实例而不是正常设置值。 但我觉得通过字符串名称获取属性并不舒服。 如果某些EntityClass发生更改,则会带来许多exception而不是编译错误。 所以,我要问的是: 如何在不传递字符串名称的情况下获取已知属性的PropertyInfo? 如果有像代表一样的话,我会很高兴: SomeDelegateType MyDelegate = EntityInstance.MethodX; 理想的情况是: SomePropertyDelegate MyPropertyDelegate = EntityInstance.PropertyX;

从对象中删除null属性

,我有一个类,其中我现在有三个属性我想做什么,如果在对象中,如果任何一个null或空,那么我想从下面的对象中删除它是我的代码。 public class TestClass { public string Name { get; set; } public int ID { get; set; } public DateTime? DateTime { get; set; } public string Address { get; set; } } TestClass t=new TestClass(); t.Address=”address”; t.ID=132; t.Name=string.Empty; t.DateTime=null; 现在我想要TestClass的对象,但是Name和DateTime属性不应该是它们在对象中,是否可能? 请帮我

在Visual Studio中生成Getter和Setter的简便方法

有没有办法在Visual Studio中生成getter和setter? 我正在尝试用Alt + R , F和我得到这个: public String Denomination { get { return denomination; } set { denomination = value; } } 我想要的是这个: public String getDenomination() { return Denomination; } public void setDenomination(String Denomination) { this.Denomination = Denomination; } 有没有办法做到这一点?

在C#中引用属性本身。 reflection? 通用? 类型?

如果这个问题没有很好地制定,请耐心等待。 不知道是问题的一部分。 我想要完成的一个例子可以在WPF中的PropertyChangedEventArgs中找到。 如果要在WPF中标记属性已更改,则执行以下操作: PropertyChanged(this, new PropertyChangedEventArgs(“propertyName”)); 您将字符串传递给PropertyChangedEventArgs,它引用已更改的属性名称 。 您可以想象我不希望在我的代码中使用硬编码字符串作为属性名称。 当然,重构重命名错过了它,这使得它不仅在美学上没有吸引力,而且还容易出错。 不管怎样,我更愿意参考房产本身 。 PropertyChanged(this, new PropertyChangedEventArgs(?SomeClass.PropertyName?)); 看起来我应该能够用一个简短的方法来包装它,让我说出类似上面的内容。 private void MyPropertyChanged(??) { PropertyChanged(this, new PropertyChangedEventArgs(??.ToString()??)); } … so I can say something like: MyPropertyChanged(Person.Name); //where I’m interested in the property *itself* 到目前为止,我正在画一个空白。