服务:
1 | [WebMethod] |
2 | public string HelloWorld() |
3 | { |
4 | return "您好!" ; |
5 | } |
silverlight中代码:
01 | namespace DynamicDemo |
02 | { |
03 | public partial class MainPage : UserControl |
04 | { |
05 | public MainPage() |
06 | { |
07 | InitializeComponent(); |
08 | } |
09 |
10 | private void button1_Click( object sender, RoutedEventArgs e) |
11 | { |
12 | CallService( "DynamicDemo.Server.RefServiceSoapClient" , "HelloWorld" , new object [] { }, new EventHandler<DynamicDemo.Server.HelloWorldCompletedEventArgs>(aa_HelloWorldCompleted)); |
13 | } |
14 |
15 | void aa_HelloWorldCompleted( object sender, Server.HelloWorldCompletedEventArgs e) |
16 | { |
17 | MessageBox.Show( "吹风说:" + e.Result); |
18 | } |
19 |
20 | public void CallService( string classstring, string methodstring, object [] paramstring,Delegate completedel) |
21 | { |
22 | Type tp = Type.GetType(classstring); |
23 |
24 | EventInfo Event = tp.GetEvent(methodstring+ "Completed" ); |
25 |
26 | MethodInfo method = tp.GetMethod(methodstring+ "Async" , new Type[] { }, new ParameterModifier[] { }); |
27 |
28 | var chuifeng = tp.Assembly.CreateInstance(classstring); |
29 |
30 | Event.AddEventHandler(chuifeng, completedel); |
31 |
32 | method.Invoke(chuifeng, paramstring); |
33 |
34 | } |
35 | } |
36 | } |