gpt4 book ai didi

c# - 创建 C# 类的对象有哪些不同的方法?

转载 作者:行者123 更新时间:2023-12-04 13:07:34 24 4
gpt4 key购买 nike

我在一次求职面试中被问到这个问题,但不确定 C# 中还有哪些其他选项可用于创建类的对象。我知道创建对象的基本方法。例如:我有一个名为“ClassName”的类,所以要创建对象,我可以使用

ClassName classNameObject = new ClassName();

谁能告诉我还有哪些方法可以用来实例化一个类?提前致谢!

最佳答案

还有几种方式:

  1. 使用反射创建对象。

     object classNameObject = Activator.CreateInstance(typeof(ClassName));

    The CreateInstance<T>() generic method is used by compilers to implement the instantiation of types specified by type parameters.

    查看更多信息 here .

  2. 创建对现有对象的引用。

     ClassName classNameObject = new();
    ClassName otherClassNameObject = classNameObject;
  3. 通过注册实例使用 DI(依赖注入(inject))容器创建对象(我不会在这里编写代码,因为它取决于您使用的 DI)。

  4. 通过反序列化创建一个对象。

     BinaryFormatter formatter = new();
    (ClassName)formatter.Deserialize(...);

您也可以使用 JsonConvert.DeserializeObject<ClassName> .

  1. MemberwiseClone 创建对象.

     ClassName classNameObject = new();
    ClassName otherClassNameObject = (ClassName) this.MemberwiseClone();

注意,new的不同用法也有很多种关键字,但我没有在这里提及它,因为它只是语法。

关于c# - 创建 C# 类的对象有哪些不同的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68695072/

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