C#如何使类变量引用类中的另一个值

C#如何使类变量引用类中的另一个值,第1张

概述我有以下简化类: public class Foo{ public DateTime dateOfBirth {get; set;} public Age age {get; set;}} 和年龄如下: Public class Age{ public DateTime dateOfBirth {get; set;} //..Calculate 我有以下简化类:

public class Foo{     public DateTime dateOfBirth {get; set;}     public Age age {get; set;}}

和年龄如下:

Public class Age{     public DateTime dateOfBirth {get; set;}         //..Calculate age here}

现在,我希望Foo.Age.dateOfBirth自动等于Foo.dateOfBirth,例如当用户执行以下 *** 作时:

var Foo foo = new Foo();foo.dateOfBirth = //..whatever

注意,这不能在构造函数中,因为用户可能没有在构造函数中设置dob,这也不会涵盖dob更改的情况.

它需要是dateOfBirth变量的直接引用.

不能做他的事吗?

解决方法 你可以使用setter:

public class Foo{    private DateTime _dateOfBirth;    public DateTime DateOfBirth    {        get { return _dateOfBirth; }        set {            _dateOfBirth = value;            if(Age != null)               Age.DateOfBirth = value;        }    }    public Age Age { get; set; }}

如果你使DateOfBirth属性依赖于Age属性更容易,你可以使用C#6表达式bodIEd Readonly属性:

public class Foo{    public DateTime DateOfBirth => Age?.DateOfBirth ?? DateTime.MinValue;    public Age Age { get; set; }}
总结

以上是内存溢出为你收集整理的C#如何使类变量引用类中的另一个值全部内容,希望文章能够帮你解决C#如何使类变量引用类中的另一个值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1221083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存