gpt4 book ai didi

C# - 根据类型将对象转换为 IList

转载 作者:太空狗 更新时间:2023-10-29 22:35:04 26 4
gpt4 key购买 nike

我正在尝试一些思考,并且对如何将结果对象转换为 IList 有疑问。

这是反射(reflection):

private void LoadBars(Type barType)
{
// foo has a method that returns bars
Type foo = typeof(Foo);

MethodInfo method = foo.GetMethod("GetBars")
.MakeGenericMethod(bar);

object obj = method.Invoke(foo, new object[] { /* arguments here */ });
// how can we cast obj to an IList<Type> - barType
}

我们如何将 method.Invoke 的结果从 barType 参数转换为 Type 的 IList?

最佳答案

强制转换的目的通常是告诉编译器您有一些额外的信息 - 您在编译时知道一些事情。您在这里不知道该信息 - 您只在执行时知道。

您希望在转换后如何处理该值?诚然,有些时候它会很有用 - 当您必须使用通用接口(interface)时,即使您想要获得不需要类型参数的成员(例如 CountIList<T> 中)。但是,如果这不是您想要做的,那么如果您能提供更多信息,那将会很有帮助。

关于C# - 根据类型将对象转换为 IList<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2493203/

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