简单的字符串插值引擎,可以用来调试字符串表达式的处理结果
StringInterpolation
01 Syntax
Microsoft.VisualBasic.Scripting.Expressions.StringInterpolation
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| GetValue | 1 | 不存在的键名会自动返回空字符串 |
| Interpolate | 3 |
03 Fields
| Name | Overloads | Summary |
|---|---|---|
| VariablePattern | 1 | 允许下换线,点号,ASCII字母,以及数字作为标识符 $var $obj.property $obj.property.value.method.etc |
04 Members
GetValue(
Dictionary(Of String, String))不存在的键名会自动返回空字符串
Parameters
| Name | Type | Description |
|---|---|---|
resource | Dictionary(Of String, String) | - |
Interpolate(
String, Func(Of String, String), Boolean, Boolean)对于getValue方法而言,是不需要$前缀了的
Parameters
| Name | Type | Description |
|---|---|---|
expr$ | String | 只有当变量的值不为空值的时候才会进行替换,但是当nullAsEmpty为真的时候会被强行替换为空字符串进行替换 |
getValue | Func(Of String, String) | Get string value of the variable in the expression. |
escape | Boolean | 是否需要进行对\t\n这类字符的转义操作?假若是路径字符串,则不推荐开启这个选项了,因为路径的分隔符很容易引起误转义... |
Interpolate(
StringBuilder, Func(Of String, String), Boolean, Boolean)在解析出variable之后,variable前面的$是会被清除掉的,所以variable的source getValue里面的变量名称应该是没有$前缀的
Parameters
| Name | Type | Description |
|---|---|---|
sb | StringBuilder | - |
getValue | Func(Of String, String) | - |
nullAsEmpty | Boolean | 只有当变量的值不为空值的时候才会进行替换,但是当nullAsEmpty为真的时候会被强行替换为空字符串进行替换 |
escape | Boolean | - |
VariablePattern
允许下换线,点号,ASCII字母,以及数字作为标识符
$var
$obj.property
$obj.property.value.method.etcInterpolate(
String, Dictionary(Of String, String), Boolean)