gpt4 book ai didi

c# - 如何知道调用了哪个构造函数来创建对象实例

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:17 25 4
gpt4 key购买 nike

我想知道是否有可能知道调用了哪个构造函数来创建对象的实例。例如:

public class Dog
{
public string Name;
public int Age;

public Dog(){}

public Dog(string n, int age)
{
this.Name = n;
this.Age = age;
}

public Dog(string n)
{
this.Name = n;
}
}

现在我创建一个类实例:

var dog = new Dog("pippo", 10);

现在(我思考了一下)我想从“var dog”中知道我使用了哪个构造函数来创建 Dog 实例,如果该类有多个实例,这可能吗?

谢谢。

最佳答案

public enum UsedConstructor { Default, Name, NameAndAge };

public class Dog
{
UsedConstructor UsedConstructor { get; }
public string Name;
public int Age;

public Dog()
{
UsedConstructor = UsedConstructor.Default;
}

public Dog(string n, int age)
{
UsedConstructor = UsedConstructor.NameAndAge;
this.Name = n;
this.Age = age;
}

public Dog(string n)
{
UsedConstructor = UsedConstructor.Name;

this.Name = n;
}

关于c# - 如何知道调用了哪个构造函数来创建对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35453538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com