gpt4 book ai didi

.NET 类型转换问题 : Simple but difficult

转载 作者:行者123 更新时间:2023-12-01 07:06:11 26 4
gpt4 key购买 nike

嗯,

这个问题有点简单。

我有一个对象定义为:

public class FullListObject : System.Collections.ArrayList, IPagedCollection

当我尝试:

IPagedCollection pagedCollection = (IPagedCollection)value;

它不起作用...值是一个 FullListObject...这是我的新代码试图解决“is”运算符的问题。当系统测试(值为 IPgedCollection) 时,FullListObject 永远不会为 true。

如何将对象转换为具有接口(interface)类型的另一个对象?

编辑:

仅供记录:错误代码

if (value is IPagedCollection)
{
IPagedCollection pagedCollection = value as IPagedCollection;

if 从未达到 true,并且强制转换也不起作用。所以问题是类的双重定义。现在我在“Commom”项目中为整个系统使用的类定义了FullObjectList。问题消失了!

最佳答案

你做得对。试试这个(它也会失败,但会显示问题):

IPagedCollection pagedCollection = (FullListObject)value;

编译器应该可以接受这个。如果不是,则您有多个相互冲突的 IPgedCollection 和/或 FullListObject 定义。如果在运行时失败,则您的值不是 FullListObject

关于.NET 类型转换问题 : Simple but difficult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2547268/

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