[問題] Interface整合
想請問說
我要整合兩種廠商的相機 A跟B
在UI可以做切換 一次只能選一種用
A的方法是包在一個class 可以編輯
B的方法是包在dll裡面的inteface 無法編輯
目前想法是創一個空的interface 然後皆繼承於他
A_class : I_ccd
B_interface : I_ccd -->當然因為無法編輯所以無法在後面加": I_ccd"
然後定義物件的格式
private I_ccd obj_ccd;
然後視使用者勾選哪一個來決定實體成A還是B
if(flag)
this.obj_ccd = new A_class();
else
this.obj_ccd = B_Vander.GetInstance();
在使用時就是
public void TakePicture()
{
if (obj_ccd is A_class)
obj_ccd.Focus();
obj_ccd.Snap();
else
obj_ccd.Grab();
}
一來是卡在一開始dll無法編輯的問題
二來好像不是很好的寫法...
請問有什麼方法可以修改或是有更好的寫法?
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.146.2
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1512842816.A.724.html
※ 編輯: l8PeakNeymar (220.134.146.2), 12/10/2017 02:09:24
→
12/10 02:15,
7年前
, 1F
12/10 02:15, 1F
→
12/10 02:18,
7年前
, 2F
12/10 02:18, 2F
→
12/10 02:18,
7年前
, 3F
12/10 02:18, 3F
推
12/10 08:07,
7年前
, 4F
12/10 08:07, 4F
→
12/10 08:07,
7年前
, 5F
12/10 08:07, 5F
推
12/10 15:50,
7年前
, 6F
12/10 15:50, 6F
→
12/10 15:50,
7年前
, 7F
12/10 15:50, 7F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章