Tag: 私人成员

修改私有readonly成员变量?

我有以下代码: public class MyClass { private readonly string name; public string Name { get { return name; } } public MyClass(string name) { this.name = name; } } class Program { static void Main(string[] args) { MyClass mc = new MyClass(“SomeName”); } } 有没有什么办法可以在不修改类的情况下更改mc.name的值?

如何实例化内部私有类的PrivateType

我试图为私人内部课程设置unit testing,但收效甚微: namespace Stats.Model { public class DailyStat { private class DailyStatKey // The one to test { private DateTime date; public DateTime Date { get { return date; } set { date = value.Date; } } public StatType Type { get; set; } public override int GetHashCode() { return Date.Year * 1000000 + Date.Month […]

适当的Objective-C助手“Wannabe”私人方法?

虽然我讨厌在这个问题上击败一匹马(我已经阅读了关于此的各种文章),但我想在创建我自己的“自己的约定”之前获得更多关于这个问题的意见,以便在编写时使用在Objective-C中。 我想弄清楚的约定最终是如何(使用生产级代码的最佳编码实践)在类中使用私有方法。 来自C#的背景,当我编写类时,通常会有一个代码块在多个公共方法中重复(例如错误检查或WCF服务连接设置)。 我通常会创建一个此代码块,并将其放在一个私有方法中,仅供这些公共方法访问。 这样,如果我需要进行更改,我只需要在一个位置执行此操作,而不是在类中的10个不同位置,但是从不让用户能够调用此私有方法。 例如: public Class A { public void method1() { doErrorChecking() // Do more stuff } public void method2() { doErrorChecking() // Do more stuff } private doErrorChecking() { //Error Checking Code} } 我知道没有真正的方法可以在Objective-C中真正使最后一个方法成为私有,但是我真的想确保当我在Objective-C中为iOS开发创建所有未来的类时,我遵循可用的最佳实践未来的代码重构将不再需要(希望如此)。 我注意到人们谈论类别,其他人只是不把方法放在@interface文件中,其他人使用扩展方法。 目前我只是将方法实现放在@implementation文件中,而不是接口文件。 我也让“想要”的私有方法有一个非常独特的名称,因此子类或覆盖方法不是问题。 这是我应该遵循的道路吗? 或者对于这些特殊情况,有更好的方法吗?