从 C# 中的另一个构造函数调用构造函数

Muhammad Maisam Abbas 2021年4月29日
从 C# 中的另一个构造函数调用构造函数

本教程将讨论在 C# 中从同一个类的另一个构造函数调用一个构造函数的方法。

在 C# 中使用 this 关键字从同一个类的另一个构造函数调用一个构造函数

如果我们的类有多个构造函数,而我们又想从另一个构造函数调用一个构造函数,则可以在 C# 中使用 this 关键字。this 关键字是对 C# 中当前类实例的引用。以下代码示例向我们展示了如何使用 C# 中的 this 关键字从同一个类的另一个构造函数调用一个类的一个构造函数。

using System;

namespace call_another_constructor
{
    class sample
    {
        public sample()
        {
            Console.WriteLine("Constructor 1");
        }
        public sample(int x): this()
        {
            Console.WriteLine("Constructor 2, value: {0}",x);
        }
        public sample(int x, int y): this(x)
        {
            Console.WriteLine("Constructor 3, value1: {0} value2: {1}", x, y);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            sample s1 = new sample(12, 13);
        }
    }
}

输出:

Constructor 1
Constructor 2, value: 12
Constructor 3, value1: 12 value2: 13

我们使用 3 个不同的构造函数创建了 sample 类。构造函数 sample(int x, int y) 调用构造函数 sample(int x),并将 x 作为参数传递给 x。然后,构造函数 sample(int x)this() 调用构造函数 sample()sample() 构造函数在 sample(int x) 构造函数之前执行,而 sample(int x) 构造函数在 sample(int x, int y) 构造函数之前执行。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp Class