gpt4 book ai didi

c# - 如何重构此代码(C#,类型)

转载 作者:太空狗 更新时间:2023-10-30 00:13:52 26 4
gpt4 key购买 nike

首先,对于问题的标题,我深表歉意。我不太确定我要完成的任务叫什么,所以我直接开始吧。

我目前正在使用 GDI+ 在 c# 中开发一个游戏引擎,并且已经实现了一个组件类。这个想法是任何游戏对象都可以附加多个组件(就像 Unity3D 一样),我希望能够通过搜索它是什么类来找到任何类型的任何组件。

关于这一点,我想更改这段代码:

Rigidbody r = obj.GetComponentOfType(typeof(Rigidbody)) as Rigidbody;

改为看起来像这样:

Rigidbody r = obj.GetComponentOfType<Rigidbody>();

我该怎么做?

抱歉,如果我的问题看起来含糊不清,任何关于这个主题的说明都会很棒!

最佳答案

这称为泛型方法。您可以创建一个重载来调用现有的基于类型的实现,如下所示:

public T GetComponentOfType<T>()
{
return (T) GetComponentOfType(typeof(T));
}

关于c# - 如何重构此代码(C#,类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42629145/

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