Skip to content

Commit b8cc55e

Browse files
committed
New translations scripting-check-object-types.md (Chinese Simplified)
1 parent 44790ae commit b8cc55e

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

‎localizedContent/zh/content/how-tos/scripting-check-object-types.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ var typeName = obj.GetType().Name; // "DataColumn", "Measure", etc.
3131
```
3232

3333
> [!NOTE]
34-
> 在 Tabular Editor 2 中,带变量声明的模式匹配(`col is CalculatedColumn cc`)需要 Roslyn 编译器。 在 **File > 偏好 > General > Compiler path** 下进行配置。 详情请参阅 [使用 Roslyn 编译](xref:advanced-scripting#compiling-with-roslyn)。 Tabular Editor 3 默认支持此功能。 在 **File > 偏好 > General > Compiler path** 下进行配置。 详情请参阅 [使用 Roslyn 编译](xref:advanced-scripting#compiling-with-roslyn)。 Tabular Editor 3 默认支持此功能。
34+
> 在 Tabular Editor 2 中,带变量声明的模式匹配(`col is CalculatedColumn cc`)需要 Roslyn 编译器。 在 **File > 偏好 > General > Compiler path** 下进行配置。 详情请参阅 [使用 Roslyn 编译](xref:advanced-scripting#compiling-with-roslyn)。 Tabular Editor 3 默认支持此功能。
3535
3636
## 类型层次结构
3737

@@ -46,7 +46,7 @@ TOMWrapper 中的关键继承关系如下:
4646

4747
## 按类型筛选集合
4848

49-
`OfType<T>()` 可用于任何集合,并返回一个经过筛选的序列,其中只包含指定类型的项。 如果没有匹配项,它会返回空序列。 如果没有匹配项,它会返回空序列。
49+
`OfType<T>()` 可用于任何集合,并返回一个经过筛选的序列,其中只包含指定类型的项。 如果没有匹配项,它会返回空序列。
5050

5151
```csharp
5252
// All calculated columns in the model (empty if model has none)
@@ -64,7 +64,7 @@ var regularTables = Model.Tables.Where(t => t is not CalculationGroupTable && t
6464

6565
## 使用 is 进行模式匹配
6666

67-
模式匹配会做两件事:检查某个值是否为给定类型,并可选择将其转换后赋给一个新变量。 模式匹配会做两件事:检查某个值是否为给定类型,并可选择将其转换后赋给一个新变量。 `x is Type xx` 这种形式会判断“`x` 是否为 `Type` 类型?”,如果为真,就会将 `xx` 作为该确切类型的变量供你使用。
67+
模式匹配会做两件事:检查某个值是否为给定类型,并可选择将其转换后赋给一个新变量。 `x is Type xx` 这种形式会判断“`x` 是否为 `Type` 类型?”,如果为真,就会将 `xx` 作为该确切类型的变量供你使用。
6868

6969
这等同于:
7070

@@ -76,7 +76,7 @@ if (col is CalculatedColumn)
7676
}
7777
```
7878

79-
如果你只需要布尔判断,使用不带变量的 `x is Type`。 如果你还需要访问子类型特有的属性,用 `x is Type xx`。 如果你还需要访问子类型特有的属性,用 `x is Type xx`。
79+
如果你只需要布尔判断,使用不带变量的 `x is Type`。 如果你还需要访问子类型特有的属性,用 `x is Type xx`。
8080

8181
```csharp
8282
foreach (var col in Model.AllColumns)
@@ -91,15 +91,15 @@ foreach (var col in Model.AllColumns)
9191

9292
## Dynamic LINQ 中的等效写法
9393

94-
在 BPA 规则中,类型筛选是通过规则的 **Applies to** 范围来处理的。 把它设置为目标对象类型(例如 **计算列**),不要在表达式中按类型筛选。 在 BPA 规则中,类型筛选是通过规则的 **Applies to** 范围来处理的。 把它设置为目标对象类型(例如 **计算列**),不要在表达式中按类型筛选。 Dynamic LINQ 不支持 C# 风格的类型转换。
94+
在 BPA 规则中,类型筛选是通过规则的 **Applies to** 范围来处理的。 把它设置为目标对象类型(例如 **计算列**),不要在表达式中按类型筛选。 Dynamic LINQ 不支持 C# 风格的类型转换。
9595

9696
## 常见陷阱
9797

9898
> [!IMPORTANT]
9999
>
100-
> - `Column` 是抽象类型,但你无需进行类型转换,也可以访问基类型上定义的所有属性(`Name`、`DataType`、`FormatString`、`IsHidden`、`Description`、`DisplayFolder`)。 只有在你需要子类型特有的属性(例如 `CalculatedColumn` 上的 `Expression`)时,才将其转换为该子类型。 只有在你需要子类型特有的属性(例如 `CalculatedColumn` 上的 `Expression`)时,才将其转换为该子类型。
101-
> - `OfType<T>()` 会同时进行筛选和类型转换。 `OfType<T>()` 会同时进行筛选和类型转换。 `Where(x => x is T)` 只会筛选,结果仍然是基类型。 当你需要访问子类型属性时,优先使用 `OfType<T>()`。 当你需要访问子类型属性时,优先使用 `OfType<T>()`。
102-
> - Calculated table columns are managed automatically. 要添加或更改列,就编辑计算表格的 `Expression`。 你不能直接添加这些列。
100+
> - `Column` 是抽象类型,但你无需进行类型转换,也可以访问基类型上定义的所有属性(`Name`、`DataType`、`FormatString`、`IsHidden`、`Description`、`DisplayFolder`)。 只有在你需要子类型特有的属性(例如 `CalculatedColumn` 上的 `Expression`)时,才将其转换为该子类型。
101+
> - `OfType<T>()` 会同时进行筛选和类型转换。 `Where(x => x is T)` 只会筛选,结果仍然是基类型。 当你需要访问子类型属性时,优先使用 `OfType<T>()`。
102+
> - 计算表格的列会自动管理。 要添加或更改列,就编辑计算表格的 `Expression`。 你不能直接添加这些列。
103103
104104
## 另见
105105

0 commit comments

Comments
 (0)