【发布时间】:2013-03-30 21:13:20
【问题描述】:
我有一个程序,我正在尝试扩展对象类以允许引用数组所有成员的方法。
ExtendedArray 类代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleMaze
{
class ExtendedArray : Object
{
private object[] referredTo;
public ExtendedArray()
{
referredTo = null;
}//empty constructor
public ExtendedArray(Object[] obj)
{
referredTo = obj;
}//full constructor
public void referToAll(object changeTo)
{
for (int x = 0; x < referredTo.Length; x++)
{
referredTo[x] = changeTo;
}
}//referToAll(bool)
}//ExtendedArray <== class
}
我打算在未来使用这个类并添加一些东西,所以它非常通用。虽然当我尝试使用构造函数时出错,但无法将类型 bool[] 隐式转换为类型 object[]。
Boolean[] dirBoolArray = { curLeft, curUp, curRight, curDown };
ExtendedArray dirBool = new ExtendedArray(dirBoolArray);
【问题讨论】:
-
您可以将可为空的
bool?转换为对象。 -
目前尚不清楚您要在这里完成什么。您的扩展阵列的预期用途是什么?和
List<T>有什么区别? -
谷歌拳击布尔 c#
-
除了解释之外,您几乎肯定需要在这里使用泛型来解决问题,以便您可以接受
T的数组,而不是对象的数组。 -
顺便说一句,不需要从
Object显式继承。无论如何,所有类都继承自它。