国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

WebForm版demo,模擬手機Usb接口充電

2019-11-17 01:59:49
字體:
來源:轉載
供稿:網友
WebForm版demo,模擬手機Usb接口充電

材料清單:Mobile(手機),MiniCharger(迷你充電器),IUsb(USB接口),

設計思路:

1.聲明IUsb約定對象之間的交互方式,其中包含一個事件;

2.Mobile實現IUsb接口,這是關鍵點,是調用者實現接口,需求通過事件委托給充電設備自行處理;

3.Mobile反射充電設備,通過構造函數注入IUsb;

代碼清單:

1 public interface IUsb {2     decimal Voltage { get; set; }3     event System.EventHandler Connecting;4     }
IUsb.cs
 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Mobile.aspx.cs" Inherits="Mobile" %> 2  3 <!DOCTYPE html> 4  5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8     <title></title> 9 </head>10 <body>11     <form id="form1" runat="server">12     <div>13         <label>電壓:</label><asp:Label ID="lblVoltage" runat="server" Text="0" ></asp:Label>14         <asp:Label ID="lblMessage" runat="server" Text="沒電了" ></asp:Label>15         <asp:DropDownList ID="drpSelect" runat="server">16             <asp:ListItem Text="迷你充電器" Value="MiniCharger"></asp:ListItem>17             </asp:DropDownList>18         <asp:Button ID="btnConnect" runat="server" Text="連接充電設備" OnClick="btnConnect_Click" />19     </div>20     </form>21 </body>22 </html>
Mobile.aspx
 1 using System; 2 public partial class Mobile : System.Web.UI.Page, IUsb { 3     public decimal Voltage { get; set; } 4     public event EventHandler Connecting; 5     PRotected const decimal Increment = 0.5m; 6     protected const decimal Max = 5.0m; 7  8     protected object LoadCharger(string pType) { 9         string _fileName = "Z://" + pType + ".dll";10         object[] _args = new object[] { this };11         return System.Activator.CreateInstanceFrom(12             _fileName, pType, true, 0, null, _args, null, null);13         }14 15     protected void btnConnect_Click(object sender, EventArgs e) {16         this.LoadCharger(this.drpSelect.SelectedItem.Value);17         this.ShowMessage();18         }19 20     protected void ShowMessage() {21         if (this.Connecting == null) this.lblMessage.Text = "設備無響應";22         else {23             this.Connecting(null, EventArgs.Empty);24             this.lblVoltage.Text = this.Voltage.ToString();25             this.lblMessage.Text = (this.Voltage==0)?"設備無充電功能"26                 : (this.Voltage == Max) ? "瞬間充滿" 27                 :"充電中";28             }29         }30 31     }
Mobile.aspx.cs
 1 using System; 2 [Serializable] 3 public class MiniCharger { 4     protected IUsb Usb { get; set; } 5     protected const decimal Voltage = 5.0m; 6     public MiniCharger(IUsb pElement) { 7         this.Usb = pElement; 8         this.Usb.Connecting += Element_Connecting; 9         }10 11     void Element_Connecting(object sender, EventArgs e) {12         this.Usb.Voltage = Voltage;13         }14     }
MiniCharger.cs

我只是寫個骨架,有興趣的朋友可以多實現幾個不同類型的Usb設備,并且可以嘗試擴展Usb接口的功能,比如說為手機增加拷貝數據的功能,

看看連接筆記本電腦和充電器的不同效果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 六枝特区| 邹城市| 洛南县| 井研县| 石首市| 休宁县| 乌海市| 囊谦县| 普兰县| 滁州市| 桃园县| 大安市| 航空| 永胜县| 上蔡县| 当涂县| 洛浦县| 凤城市| 会泽县| 大洼县| 临高县| 波密县| 资中县| 惠州市| 邛崃市| 岳阳市| 安乡县| 东阳市| 历史| 昭苏县| 福泉市| 元江| 罗山县| 宜兰县| 满洲里市| 宁陕县| 南投县| 建水县| 天柱县| 西乌珠穆沁旗| 突泉县|