[英]custom class library as an array C#
我正在使用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()
。
誰能幫我?
如果要在類中調用方法,則必須至少創建一個實例。 實際上,您要做的就是創建一個空引用數組,然后嘗試在該數組上調用您的方法。 這是你可以做到的一種方式。
ClassLibrary1[] arraynumbers = new ClassLibrary1[5];
for(int i = 0; i < 5; i++)
{
arraynumbers[i] = new ClassLibrary1();
}
arraynumbers[0].Readdata();
您不能像使用Readdata
那樣使用Readdata
,因為ClassLibrary1[]
是一個ARRAY對象,而不是在其中定義您的方法的ClassLibrary1
對象。
您必須改為執行以下操作:
arraynumbers[0].Readdata();
Readdata()
是ClassLibrary1
實例的方法,而不是保存ClassLibrary1
實例的數組。
在類上定義的方法不能在該類的集合上調用。 如果要在集合上使用方法,請考慮制作擴展方法:
public static class ClassLibrary1Extensions
{
public static Readdata(this ClassLibrary[] value)
{
...
}
}
第一個參數中的“ this”關鍵字使您可以“假裝”此類型為“ ClassLibrary1 []”或數組的方法。 即擴展該類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.