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

c#

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

ClassName classNameObject = new ClassName();

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

回答

还有几种方式:

  1. 使用反射创建对象。

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

    CreateInstance<T>()通用方法用于由编译器实现的按类型参数指定类型实例化。

    在此处查看更多信息。

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

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

  4. 使用反序列化创建一个对象。

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

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

  1. 使用MemberwiseClone创建一个对象。

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

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

  • 对所有 **5 种为 ac# 类创建对象的方法以及何时选择可用的 ** 方法的优缺点的解释[此处](https://levelup.gitconnected.com/5-ways-to -create-an-object-in-c-and-when-to-choose-which-one-4aabea5c3e40)

以上是创建C#类的对象有哪些不同的方法?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>