我正在使用自己的方法在C#中使用类库,我想从这个库中创建一个数组,但是当我在主程序中调用它时,我无法看到它的方法。
public class ClassLibrary1
{
public int num;
public ClassLibrary1 ()
{
}
public void Readdata()
{
Console.Write("write a number ");
num = int.Parse(Console.ReadLine());
}
}
program.cs:
ClassLibrary1[] arraynumbers = new ClassLibrary1[5];
arraynumbers.Readdata();
我无法使用Readdata()
。
任何人都可以帮助我吗?
答案 0 :(得分:2)
如果要调用类中的方法,则必须至少创建一个实例。实际上,您所做的就是创建一个空引用数组,然后尝试在数组上调用您的方法。这是你可以做到的一种方式。
ClassLibrary1[] arraynumbers = new ClassLibrary1[5];
for(int i = 0; i < 5; i++)
{
arraynumbers[i] = new ClassLibrary1();
}
arraynumbers[0].Readdata();
答案 1 :(得分:1)
您不能以Readdata
的方式使用ClassLibrary1[]
,因为ClassLibrary1
是一个ARRAY对象,而不是arraynumbers[0].Readdata();
对象,其中定义了您的方法。
你必须做这样的事情:
{{1}}
答案 2 :(得分:0)
Readdata()
是ClassLibrary1
实例的方法,而不是包含ClassLibrary1
个实例的数组。
答案 3 :(得分:0)
可能不会在该类的集合上调用在类上定义的方法。如果要在集合上使用方法,请考虑使用扩展方法:
public static class ClassLibrary1Extensions
{
public static Readdata(this ClassLibrary[] value)
{
...
}
}
第一个参数中的“this”关键字允许您“假装”此方法是在“ClassLibrary1 []”或数组类型上。即扩展那种类型。