簡體   English   中英

自定義類庫作為數組C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM