using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace 面向对象机器人
{
public class TalkMessageEventArgs : EventArgs//存放事件的类
{
public readonly string Talking;
public TalkMessageEventArgs(string talking)
{
this.Talking = talking;
}
}
public class SendMessage//事件发送
{
public string talking;
public delegate void SendChangeHandler(object send, TalkMessageEventArgs talkmessage);//声明一个委托
public event SendChangeHandler SendChange;//声明一个事件
protected virtual void onSendChanged(TalkMessageEventArgs e)
{
SendChangeHandler handler = SendChange;
if (handler != null)
{
SendChange(handler,e);
}
}
public void Run()
{
if(talking=="别理我")
{
return;
}
if (talking == "理我嘛")
{
Console.WriteLine("%>_<%,您好,需要什么帮助嘛");
}
}
}
public class SubScribe//声明一个订阅者
{
public void MessageHasChanged(object theSendMessqge, TalkMessageEventArgs ti)
{
Console.WriteLine();
}
public void Subscribe(SendMessage theSendMessage)//实现委托功能
{
theSendMessage.SendChange += new SendMessage.SendChangeHandler(MessageHasChanged);
}
}
class Robert
{
private string Name;
public Robert(string name)
{
this.Name=name;
}
public void Greetgood()
{
Console.WriteLine("您好,请问需要什么帮助?");
}
public void Myself()
{
Console.WriteLine("我是联想小助手{0}",this.Name);
}
public void Talk(string str)
{
if(str.Contains("名字")||str.Contains("叫什么")||str.Contains("谁"))
{
Myself();
}
}
}
class Program
{
static void Main(string[] args)
{
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
string name = "robert";
Robert robert = new Robert(name);
robert.Myself();
robert.Greetgood();
Console.WriteLine("");
string str = Console.ReadLine();
using (SqlConnection sqlconnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;database=Robert;uid=sa;pwd=password"))
{
sqlconnection.Open();
//Console.WriteLine("连接成功");
using (SqlCommand sqlcommand = sqlconnection.CreateCommand())
{
sqlcommand.CommandText = "select * from table where str=@str ";
using (SqlDataReader sqldatareader = sqlcommand.ExecuteReader())
{
while (sqldatareader.Read())
{