C中在類中呼叫其他類的方法,C中在乙個類中呼叫其他類的方法

2021-03-04 08:53:54 字數 6522 閱讀 3005

1樓:匿名使用者

static void printmenu()方法前少:public

2樓:匿名使用者

前少public ,預設是proctected型別的,只能是其父子類相關的才能呼叫,改成加上public型別

3樓:匿名使用者

因為str=="1",字串是引用型別,== 比較的並不是他們的內容,而是比較他們的指標,由於str和"1"是分別分配空間的,他們的指標指向是不一樣的,你應該用string.***pare()

4樓:行走在繁星下

看不出來有什麼錯。注意:輸完1後別忘了按回車鍵

5樓:聖淡容友梅

你把這句

if(str=="1")

studentinfo.infomenu();改成if("1".equals(str))

studentinfo.infomenu();試一下

c# 如何在乙個類中呼叫另乙個類的屬性和方法? 10

6樓:匿名使用者

你這個有錯誤。

b類中的a類沒有例項化,要報錯。

class b

7樓:mickal小公尺

如果要通過類名來用方法的話,那其中的方法必須是靜態方法,需加上static。

即public static void get() 。靜態方法是跟類關聯的,允許不對classa例項化,就可以用它的方法

8樓:萬年——腐屍

假設我要在ab類中呼叫ub的屬性和方法。

class ub

}class ab

9樓:

如果只是為了呼叫a類的方法最好不要這樣設計。

你可以用繼承、者靜態方法或者委託來實現。

初學c# 怎麼在乙個類中呼叫另乙個類的函式?

10樓:匿名使用者

這種a窗體,b窗體互相呼叫是最差的程式設計習慣,增加了耦合度下面這個例子讓你可以解決互相呼叫的問題,a窗體中的方法,還是在a中呼叫,不需要在b中呼叫

public class a

void do()}}

public class belse}}

11樓:浩磊天下

我雖然看的有點迷糊,但看完你和他們的問答以後,總結了一下,你是不是想這樣:比如a是乙個窗體類,b是另乙個窗體類,你想在a的某乙個函式裡new乙個b的物件並且讓b顯示出來,然後在b裡面呼叫a的方法?如果是這樣的話,你可以在b的建構函式裡這麼寫public b(a a)

然後在b裡面定義乙個a型別的成員變數m_a,這樣你就可以在b物件的生命週期裡呼叫a物件的公有方法了,當然,你寫b的new的時候要這麼寫b b= new (this);因為你是想將當前的a物件作為值傳進去,不知道我說的能不能解決你的問題

12樓:天蠍神經俠侶

c#中如何在乙個控制項函式中呼叫另乙個控制項中生成的變數,具體解決方案如下:

解決方案1:

在其事件中宣告的變數的話,在其他控制項的方法中是不能呼叫的,可以被其他控制項函式使用,如果這個變數時在方法或事件外宣告的如果另乙個控制項中生成的變數時指

解決方案2:

謝謝!解決方案3:

把另乙個控制項中的「變數「變成為屬性,直接訪問這個屬性就行了。

解決方案4:

簡單的使用全域性靜態變數做中轉,複雜的自定義事件。

13樓:華佗之父

如果是靜態方法,直接b.方法()就行了呀

如果不是靜態方法,b b=new b();b.方法()這樣呼叫

14樓:wo_放棄愛情

你做winform窗體程式嗎?

15樓:

答:類名點方法。如a.方法名()

c#怎麼在乙個類中呼叫另乙個類的變數?

16樓:匿名使用者

(1)如果兩個類沒有繼承關係,訪問另乙個類中變數的方法如下:

public class a

// 在類b中使用類a中的變數

public class b

}請特別注意「類變數」和「例項變數」的差異!

(2)如果兩個類有繼承關係,訪問基類中變數的方法如下public class a

public class b : a

, ", base.y, base.z);    }}

17樓:匿名使用者

在這裡dlist是乙個list陣列,陣列存放的物件為datalist,應用舉例如下:

public listdatatabletolist(datatable a)

18樓:匿名使用者

參考如下**:

class b

; // class b只有乙個帶引數的建構函式private:

int m_i;};

class a;

b m_b;};

19樓:匿名使用者

c#區分大小寫的。屬性是myname吧?

20樓:匿名使用者

例項化你要引用的類,你的類中屬性要區分大小寫

21樓:匿名使用者

定義為靜態的,在public 後面加上乙個static

22樓:匿名使用者

首先在乙個類中包含將被呼叫類的標頭檔案或用class宣告被呼叫類資訊,構造乙個被呼叫類的物件,就可以呼叫。如:

class one

;class two

23樓:屋有

在另一類中做介面方法

getset

如何在c#中,在乙個類裡呼叫另外乙個類的方法

24樓:冰凍了你呢

把a類你有引用的方法加static

public class a

}public class b

}【拓展資料】

c#是乙個物件導向的程式語言。這種程式設計模式關注的是物件的行為和屬性。比如貓抓老鼠這個例子中:貓和老鼠都是物件,用兩個類表示:貓類cat,老鼠類mouse。

貓表現出了兩種行為:聽(老鼠的叫聲)listen(mouse)和抓(老鼠)catch(mouse);至少一種屬性:行動速度speed。

老鼠表現出了一種行為:叫chitter;至少一種屬性:叫聲的大小loudness。

這樣的話可以如下定義兩個類:using system;class cat

public void catch(mouse m)     public float speed }class mouse     public float loudness }

實現貓抓老鼠的過程,就是例項化上述兩個類,並呼叫相關方法。編碼如下:

using system;  // 引用名字空間

class cat   // 行為(方法):聽老鼠叫

public void catch(mouse m)   // 行為(方法):捉老鼠

public float speed   // 屬性:捉老鼠時的行動速度

}class mouse   // 行為(方法):叫

public float loudness   // 屬性:叫聲的大小

}class program}

25樓:匿名使用者

public partial class form1 : formint z = 0; //在同乙個類中不需要修飾詞就可以了private void but_ok_click(object sender, eventargs e)

private void timer1_tick(object sender, eventargs e)

26樓:匿名使用者

一種是建立窗體物件的方式,通過物件呼叫控制項或方法例如:form1 form1 = new form1();

form1.button; //呼叫控制項form1.method(); //呼叫方法123

當然了,控制項的modifiers屬性要設定成public另一種是不建立窗體物件

在form1類下定義靜態變數,構造方法中引用這個form1class form1: form

public void method()

}123456789101112131415呼叫該窗體的控制項或方法:

form1.form1.button;form1.form1.method()。

27樓:大冬子

//你新建的類a

public class a

}//視窗類

public class form1}

28樓:萬年——腐屍

假設我要在ab類中呼叫ub的屬性和方法。

class ub

}class ab

29樓:匿名使用者

你這個有錯誤。

b類中的a類沒有例項化,要報錯。

class b

30樓:mickal小公尺

如果要通過類名來用方法的話,那其中的方法必須是靜態方法,需加上static。

即public static void get() 。靜態方法是跟類關聯的,允許不對classa例項化,就可以用它的方法

31樓:呂建鷗

new 乙個物件啊,在b類中建立乙個a類的物件不就可以了

在c#中如何在乙個類中,訪問另外乙個類中的資料,

32樓:夢裡尋你我他

首先a.cs本身要定義為public 類

其次 onlineiplist 需要加static 關鍵字public static arraylist onlineiplist = new arraylist();

那麼在b頁面中,可以用a.onlineiplist[i] 來獲取它處賦值進去的資料(無需new)

33樓:匿名使用者

重新定義乙個a物件 a a =new a()

然後呼叫a裡面的公共方法 a.onlineiplist

34樓:匿名使用者

a a=new a();

a.onlineiplist

35樓:芒日司馬恨竹

c#窗體間傳遞資料有好多種方法,說下個簡單的:

在要呼叫的窗體中新增被呼叫窗體字段,構造方法中傳入被呼叫的窗體做引數,將被呼叫窗體的需要被呼叫的資料的訪問修飾符設定為

public

,將form1的

listbox

的訪問修飾符設定為

public

這樣就可以通過欄位.屬性

呼叫被呼叫窗體的資料了:

public

form

form2

intindex=

form1.listbox.seletindex;}

c# 乙個類呼叫另乙個類中的方法。

36樓:七彩虹科技****

我雖然看的有點迷糊,但看完你和他們的問答以後,總結了一下,你是不是想這樣:比如a是乙個窗體類,b是另乙個窗體類,你想在a的某乙個函式裡new乙個b的物件並且讓b顯示出來,然後在b裡面呼叫a的方法?如果是這樣的話,你可以在b的建構函式裡這麼寫public b(a a) 然後在b裡面定義乙個a型別的成員變數m_a,這樣你就可以在b物件的生命週期裡呼叫a物件的公有方法了,當然,你寫b的new的時候要這麼寫b b= new (this);因為你是想將當前的a物件作為值傳進去,不知道我說的能不能解決你的問題

c#為什麼不能在乙個類中呼叫另乙個類的變數,而必須是在方法裡例項化後的呼叫

37樓:匿名使用者

你需要看一下入門抄

的書籍,再理襲解一下c#語法

bai規範。

c#是一種物件導向的語言,du也就是zhi說,你的class a\b 都是物件。

而你宣告dao的變數 x 是在a中的,

也就是說,當**沒有執行到class a的時候, 你是不可能知道a中有乙個x 的。

所以,你在classa中,去操作類內部的變數,肯定是可以的,因為**一定會執行,

而你在classb中,你是在執行b的**,如果你要呼叫x,你就要先把classa給例項化,讓編譯器知道你在用a了,才可以呼叫a中的x。

如果你想不用new 就訪問乙個變數,可以使用static修飾符

public static class a

這樣只要程式啟動,a和x都一直在記憶體中,你隨時可以直接呼叫,但是由於是靜態的,他們是不會被dispose的,也就是一直在佔記憶體。

而之前的做法,當a不被呼叫的時候,垃圾**器會自動**a,釋放記憶體。

c泛型方法中,如何呼叫類引數中的靜態方法

很明顯,你的函式要抄做的是乙個把弱型別的datatable對映到強型別list的orm功能,但getentitybydatarow這個對映函式根本不應該定義到t中,你可以單獨寫乙個靜態類,裡面使用反射技術,完成反射就可以了。既然在同類中,直接寫方法名不行麼?試試last.add dynamic t ...

C中,類是什麼,C 中的類外是什麼意思

什麼是類 類是一種複雜的資料型別,它是將不同型別的資料和與這些資料相關的操作封裝在一起的集合體。這有點像c語言中的結構,唯一不同的就是結構沒有定義所說的 資料相關的操作 資料相關的操作 就是我們平常經常看到的 方法 因此,類具有更高的抽象性,類中的資料具有隱藏性,類還具有封裝性。類的結構 也即類的組...

在函式呼叫中c中的與c中的有什麼異同

相同點 都是位址的概念 指標指向一塊記憶體,它的內容是所指記憶體的位址 而引用則是某塊記憶體的別名。不同點 指標是乙個實體,而引用僅是個別名 引用只能在定義時被初始化一次,之後不可變 指標可變 引用 從一而終 指標可以 見異思遷 引用沒有const,指標有const,const的指標不可變 引用不能...