2017-06-03 68 views
0

List _list; string _total,_cash,_change,_date;參數類型'System.Collections.Generic.List <WindowsFormsApplication8.receipt''比方法更難以訪問

public Form8(List<receipt> datasource, string total, string cash, string change, string date) 
{ 
    InitializeComponent(); 
    _list = datasource; 
    _total = total; 
    _cash = cash; 
    _change = change; 
    _date = date; 
} 

enter image description here

在這裏,我得到了一個錯誤。

錯誤1可訪問性不一致:參數類型 'System.Collections.Generic.List' 比方法更少可訪問的「WindowsFormsApplication8.Form8.Form8(System.Collections.Generic.List,字符串,字符串,字符串,字符串) 「C:\用戶\ thush \文檔\的Visual Studio 2012 \項目\ WindowsFormsApplication8 \ WindowsFormsApplication8 \ Form8.cs 18 16 WindowsFormsApplication8

+2

最有可能的'收據'類型是不公開的。公開。 – CodingYoshi

回答

0

除非你已經創建了自己的System.Collections.Generic.List<T>類錯誤是特指你receipt類。注意它的使用,其中的可訪問性:

public Form8(List<receipt> ... 

這是一個public類(Form8)的轉一部分。所以錯誤告訴你,這些東西比你需要的類型更容易訪問,特別是receipt

從消費代碼的角度來看,任何代碼都可以看到你的Form8類,並且可以看到它的構造函數。但是,如果相同的消費代碼不能請參閱receipt類,那麼該構造函數將沒有任何意義。編譯器通過你看到的錯誤來防止這種情況發生。

總之,如果你想在這樣的public方式使用receipt,然後receipt本身需要public

所以基本上就像你Form8類是public

public partial class Form8 : Form 
{ 
    //... 

所以必須在receipt類是:

public class receipt 
{ 
    //... 

(大多在猜測receipt類的聲明,因爲你不沒有表現出來。)

+0

該怎麼辦?你能告訴我代碼 – tagon

+0

@tagon:我已經用一個例子更新了答案。爲了公開使用它,你只需要讓「public」類。 – David

+0

非常感謝...... – tagon

相關問題