Interface其中一個好處是多個類別可繼承同個介面,
聽起來有點抽象是什麼意思呢?
以我目前的理解來解釋一下;
例如有一個新增會員功能與新增學生功能,這兩個都會用到新增這個功能,
我們就可以把這個新增的部分抽離出來寫成Interface.
以下是基本用法,等更熟悉後再實作複雜一點的
1.建立介面
interface IAction
{
//新增
void Add();
}
2.建立會員類別繼承介面並實作介面
class MemberRepository : IAction
{
void IAction.Add()
{
MessageBox.Show("已新增會員");
}
}
3.建立學生類別繼承介面並實作介面
class StudentRepository : IAction
{
void IAction.Add()
{
MessageBox.Show("已新增學生");
}
}
4.主程式部分
//新增會員
private void button1_Click(object sender, EventArgs e)
{
IAction _memberRepository = new MemberRepository();
_memberRepository.Add();
}
//新增學生
private void button2_Click(object sender, EventArgs e)
{
IAction _studentRepository = new StudentRepository();
_studentRepository.Add();
}
2014年9月25日 星期四
2014年9月24日 星期三
Javascript取得Json資料
JData =
{
"Status": "Y",
"Message": "Success",
"Data": [
{
"CourseId": "xx0001",
"CourseName": "國文"
}
]
}
//使用each取得資料
var i = 0;
$.each(JData.Data, function ()
{
//這裡自行處理
alert(json.Data[i].CourseName)
i++;
});
訂閱:
文章 (Atom)
Visual Studio JS intellisense 失效解決方式
試了好久,發現到工具>選項>IntelliCode js項目設定啟用,重新開啟VS就正常了! 後來發現是TypeScript3.2版有問題停用,使用4.3版的TypeScript即可
-
開啟記事本將以下程式碼貼入存成.bat @ECHO OFF set x=%date:~0,4%%date:~5,2%%date:~8,2% CD C:\Windows\System32\winevt\Logs COPY Application.evtx D:\bak\...
-
登入驗證時使用ValidateAntiForgeryToken只要返回上頁重新登入頁面會出現提供的反仿冒語彙基元是針對使用者 "XXX",但是目前的使用者是 ""。 請在登入頁判斷有無驗證成功即可 public ActionResul...
-
使用truncate table 時會出現 無法截斷資料表 'xxx',因為該資料表正由 FOREIGN KEY 條件約束參考解決方式 先刪除再重建自動編號即可。 DELETE table; DBCC CHECKIDENT('table'...