1
namespace datalayer
2
{
3
public delegate object BorrowReader(string strPath);
4
/// <summary>
5
/// The class to provide data
6
/// </summary>
7
public class DataServices
8
{
9
public DataServices()
10
{
11
//
12
// TODO: Add constructor logic here
13
//
14
}
15
public static object LendRender(string strFile,BorrowReader borrower)
16
{
17
18
return borrower(strFile);
19
}
20
public static object LendRender2(string strFile,IBorrowReader borrower)
21
{
22
23
return borrower.borrowReader(strFile);
24
}
25
}
26
public interface IBorrowReader
27
{
28
object borrowReader(string strFile);
29
}
30
}
31

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

调用类,定义一个BorrowReader对象br,为br增加相应的代理实体函数。

























































ste str
abcdef
输出结果为:
----read by delegate
ste str
abcdef
ste str
abcdef
ste str
abcdef
----read by interface
ste str
abcdef