1 #Region "Microsoft.VisualBasic::581c915f18cd405a60353097d42aa234, Microsoft.VisualBasic.Core\Scripting\Abstract.vb"
2
3     ' Author:
4     
5     '       asuka (amethyst.asuka@gcmodeller.org)
6     '       xie (genetics@smrucc.org)
7     '       xieguigang (xie.guigang@live.com)
8     
9     ' Copyright (c) 2018 GPL3 Licensed
10     
11     
12     ' GNU GENERAL PUBLIC LICENSE (GPL3)
13     
14     
15     ' This program is free software: you can redistribute it and/or modify
16     ' it under the terms of the GNU General Public License as published by
17     ' the Free Software Foundation, either version 3 of the License, or
18     ' (at your option) any later version.
19     
20     ' This program is distributed in the hope that it will be useful,
21     ' but WITHOUT ANY WARRANTY; without even the implied warranty of
22     ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23     ' GNU General Public License for more details.
24     
25     ' You should have received a copy of the GNU General Public License
26     ' along with this program. If not, see <http://www.gnu.org/licenses/>.
27
28
29
30     ' /********************************************************************************/
31
32     ' Summaries:
33
34     '     Module Abstract
35     
36     
37     '         Delegate Function
38     
39     
40     '         Delegate Function
41     
42     
43     '         Delegate Function
44     
45     
46     '         Delegate Function
47     
48     
49     '         Delegate Function
50     
51     
52     
53     
54     
55     
56     
57     
58     
59     
60     
61     
62     
63     ' /********************************************************************************/
64
65 #End Region
66
67 Namespace Scripting
68
69     ''' <summary>
70     ''' Delegate function pointer interface for scripting internal.
71     ''' </summary>
72     Public Module Abstract
73
74         ''' <summary>
75         ''' Gets the variable value from runtime.
76         ''' </summary>
77         ''' <param name="var$"></param>
78         ''' <returns></returns>
79         Public Delegate Function GetValue(var$) As Object
80         ''' <summary>
81         ''' Set the variable value to the variable.
82         ''' </summary>
83         ''' <param name="var$"></param>
84         ''' <param name="value"></param>
85         ''' <returns></returns>
86         Public Delegate Function SetValue(var$, value As ObjectAs Boolean
87
88         ''' <summary>
89         ''' How to make a function calls.(这个是在已经知道了确切的函数对象的前体下才会使用这个进行调用)
90         ''' </summary>
91         ''' <param name="func$">The function name in the scripting runtime</param>
92         ''' <param name="args"></param>
93         ''' <returns></returns>
94         Public Delegate Function FunctionEvaluate(func$, args As Object()) As Object
95
96         ''' <summary>
97         ''' 在脚本编程之中将用户输入的字符串数据转换为目标类型的方法接口
98         ''' </summary>
99         ''' <param name="value"></param>
100         ''' <returns></returns>
101         Public Delegate Function LoadObject(value$) As Object
102         Public Delegate Function LoadObject(Of T)(value$) As T
103     End Module
104 End Namespace