服务:
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 |
} |