C#中如何在初始化类实例时自动执行类内私有方法?
如何在初始化TestClass实例时立即执行私有方法Method1?
没问题,完全可以实现这个需求!因为私有方法在类内部是可以被任意成员调用的,而实例初始化时会自动执行构造函数,所以最直接的思路就是在构造函数里触发Method1的调用。下面是具体的实现方案:
1. 常规构造函数调用(最通用)
这是最直观的方式,在类的实例构造函数中直接调用私有方法Method1,当你创建TestClass的实例时,构造函数会自动执行,进而触发Method1的执行:
public class TestClass { // 实例构造函数:创建对象时自动执行 public TestClass() { Method1(); // 调用私有方法 } private void Method1() { // 这里写你的方法逻辑,比如: Console.WriteLine("Method1已被执行"); } }
使用的时候只需要正常创建实例:
var testInstance = new TestClass(); // 此时Method1已经被执行了
2. 表达式体构造函数(C# 6+ 简洁写法)
如果你的构造函数逻辑很简单(比如只调用Method1),可以用C# 6引入的表达式体语法,让代码更简洁:
public class TestClass { // 表达式体构造函数,效果和上面的常规写法完全一致 public TestClass() => Method1(); private void Method1() { // 方法逻辑 } }
补充说明
需要注意的是,私有方法的访问权限是类内部可见,所以构造函数作为类的成员,完全有权限调用它,这完全符合C#的访问规则。如果你的Method1是静态私有方法,那可以考虑用静态构造函数调用,但静态构造函数是在类第一次被访问时执行,而非实例初始化时,所以如果是针对实例的逻辑,还是用实例构造函数更合适。
内容的提问来源于stack exchange,提问作者Houssem
相关产品推荐
相关产品推荐

