我的课程结构如下:public class Animal {private int _animalId;public virtual int AnimalId{get { return _animalId; }} }public class Dog : Animal {public override int AnimalId{get { if (Request.Params["New_Animal"] == "true")return -1;elsereturn AnimalId;}} }我想重写AnimalId属性,如下所示:如果是新动物,则id应该为-1,但是如果要更新现有动物,我想从基类中返回AnimalId. 这是一个极其简化的示例,但我想知道是否/...
我可能可以用更好的标题来表述,但是我正在冒险进入从未有过的编程领域,因此我仍在学习术语.但是,这就是我想要做的: 我正在编写一个程序,可以对螺栓连接进行结构分析.但是,与其让用户每次都输入螺栓几何图形,不如让他们给他们一个从ASME统一螺纹标准(UTS)尺寸的标准列表中进行选择的选项.因此,我创建了一个Bolt类,然后创建了一个UTSBolt子类.我正在为UTS螺栓尺寸制作一个XML文件.到目前为止,我可以反序列化XML文件,将其投影到我的U...
我正在VS2008和C#中工作,并且正在寻找(免费)代码生成器工具来生成具有getter和setter以及要使用的支持私有字段的属性. VS中的样板模板并不适合该领域.只是在寻找更好的东西. 我曾经看到一个网站,您可以在其中构建此代码,然后将其从网页中粘贴到您的代码中.解决方法:您可以创建自定义片段,以执行几乎任何您想做的事情.这是我在VS2005中使用的一种用于创建具有后备字段的属性的方法:<?xml version="1.0" encoding="utf-8" ?> <CodeS...
目前,我已经创建了一个具有约30个属性的类.这样做是为了稍后建立URL请求(即“ http://www.domain.com/test.htm?var1=a&var2=b…&var30=dd”). 我面临的问题是属性名称不一定与查询变量名称匹配(这是有区别的).例如,我可能有一个名为“ BillAddress”的变量,而查询变量将需要为“ as_billaddress”. 我无法控制查询变量的命名方案,因为这些变量是在外部源上设置的. 我使用的一种可能的解决方案是创建一个自定义属性,并用它们各自的查...
由于性能调整,我只想返回必要的属性.有没有可能/解决方法?伪/示例代码了解:[DataContract] public interface IMemberOverview {[DataMember]public int Id { get; set; }[DataMember]public string Name { get; set; } }[DataContract] public interface IMemberDetail {[DataMember]public int Id { get; set; }[DataMember]public string Name { get; set; }[DataMember]public string Status { get; set; }[DataMember]public...
我想知道是否有人可以解决以下问题……我有一个基类,一系列派生类将继承该基类.基类关心派生类的属性是否已更改.这是为数据传输对象设置“ IsDirty”方法. 传统方法是设置在基类中声明的IsDirty布尔标志.我希望以某种方式避免这种情况,并且想知道是否还有其他方法?我担心开发人员不记得在派生类的属性的等效set操作中设置标志.我曾考虑过创建一个通用的“ SetProperty”方法的想法,该方法将使用属性名称和值,但是认为可能会有一些...
我想将student1的“ person”属性设置为person1.是否可以通过分配或以任何方式在不逐一设置属性的情况下做到这一点?static void Main(string[] args) {var student1 = new Student {Id = 1, Name = "kaya", Class = "3b", Number = "156"};var person1 = new Person { Id = 2, Name = "hasan" };}public class Person{public int Id { get; set; }public String Name { get; set; }}public class Student : Person{public int Num...
使用Visual C#2008 Express Edition,我试图在表单上创建一个按钮,以将表单设置回默认属性,例如大小,背景色等.任何人都可以找到有关如何执行此操作的示例?解决方法:到目前为止,最简单的方法是仅创建表单的新实例并关闭旧实例.如果这是您应用程序的主要形式,则需要进行一些手术,关闭它会终止程序.首先打开Program.cs并对其进行编辑,如下所示:static class Program {[STAThread]static void Main() {Application.EnableVisualStyles...
我正在扩展Vector2类.在我的主要代码中,我可以说Vector2 v=new Vector2(); v.X=2;但是在我的扩展中,我不能.public static void SetToThree(this Vector2 vector) {vector.X=3; }v.SetToThree()不变.当我逐行浏览代码时,在扩展矢量的X方向上更改为3,但是在扩展完成并继续执行主代码后,v完全没有变化.扩展方法SetToThree是否可以更改v的值?解决方法:即使它看起来像实例方法,它也像静态方法一样操作-因此arg0(this)不是ref-它...
我正在寻找一种访问类的“扁平”(最低)属性值的解决方案,该属性值是通过属性名称的反射得出的. 即从ClassB或ClassC类型访问Property1或Property2:public class ClassA{public virtual object Property1 { get; set; }public object Property2 { get; set; }}public class ClassB : ClassA{public override object Property1 { get; set; }}public class ClassC : ClassB{}使用简单的反射将起作用,直到您拥有被废弃的虚拟属性(即Cl...
我有以下课程:public class Response<T> { public string Status { get; set; }public T GenericType { get; set; } } public class Order {public string Number { get; set; } } public class Customer {public string Name { get; set; } }并希望获得:var r = new Response<Order>(); r.GenericType = new Order { Number = "1" };序列化后的以下xml:<Response><Order><Number>1</Number></Order></Response>对于:var r = n...
下面是示例的完整代码.我有一个名为ColorPicker的用户控件,其中包含3个按钮,每个按钮显示一种颜色.单击按钮时,将设置CurrentSettings类中的Color属性.我想要发生的是MainPage上矩形的颜色更改为与新的CurrentSettings.Color匹配,第二个用户控件中的列表框中的矩形(在后面的代码中添加了)矩形的颜色也更改为与新的CurrentSettings.Color. 我一直在尝试使用Dependency Properties和INotifyPropertyChanged来成功完成此任务,现在决定从...
我喜欢设计模式,但问题是实现起来有些繁琐.例如,装饰一个具有20个成员的对象只是令人讨厌. 因此,我想创建一个漂亮的设计模式库,以将其应用于类(作为基类或属性),以更快,更轻松地实现这些模式. 问题是…我不太确定从哪里开始-因为我大多不熟悉属性和反射. 我想利用属性来标记Singleton(类似于Export标记),Multiton和Decorators …,如果可能的话.但是我什至不知道从哪里开始才能创建一个改变其实例功能的单例属性. 我的有限研究使我相...
我的表架构(节选)create table dbo.MyEntity (MyEntityID int identity not nullprimary key,Name nvarchar(50) not nullunique,Description nvarchar(500) null,-- these two are optional fieldsMaxCount int null,MinSpace int null )实体类别[MapField("MaxCount", "Rule.MaxCount")] [MapField("MinSpace", "Rule.MinSpace")] public class MyEntity {public int Id { get; set; }public string Name { get; set; }public str...
我有一个界面:interface IInterface {string Name { get; } }由通用抽象类实现:public class BInterface<T> : IInterface {static BInterface() { // Or anything that would be implementation class specificName = typeof(BInterface<>).GetType().Name; }public static string Name { get; private set; }string IInterface.Name { get { return Name; } } }依次在具体的类中实现:public class CInterface : BInterface<i...