如何在泛型class 中定义TItem 的类型,或将class 名称设置为变量?
How to define the type of TItem inside of generic class, or set class name as a variable?
如何在文件顶部创建一个 class 变量(或 class 别名)并稍后在文件中使用该变量名?
我的目标是在多个地方重用(复制)此 class 并仅更改文件顶部的 class 类型变量。不然每次复制这个class,都要把文件里的class名字全部替换掉,一千多行。有时你只是想念其中的一些。
当然,并非所有 classes 都具有相同的属性,当我将 class 名称从 Address 更改为 Employee 时,VS 编辑器将突出显示这些部分 -
"Employee does not contain member called 'StreetNo'"
那我来处理那条红色的波浪线。
可能吗?
例如:
var model = Employee; // Employee is a class
及以下使用方法如下:
model newInstance = new model();
我尝试使用泛型 (TItem),但我无法在泛型中分配 TItem 的类型 class:
public class Foo<TItem> where TItem : Employee
{
// where TItem : Employee - this part of code only sets constraint, but doesn't set TItem equal to Employee - (e.g. TItem = Employee)
}
这是剃刀组件的一个非常基本的示例,实际上是部分 class。我只是简化了案例。有什么想法吗?
你可以试试using
aliases:
using Model = Employee;
稍后在代码中:
Model newInstance = new Model();
如何在文件顶部创建一个 class 变量(或 class 别名)并稍后在文件中使用该变量名? 我的目标是在多个地方重用(复制)此 class 并仅更改文件顶部的 class 类型变量。不然每次复制这个class,都要把文件里的class名字全部替换掉,一千多行。有时你只是想念其中的一些。 当然,并非所有 classes 都具有相同的属性,当我将 class 名称从 Address 更改为 Employee 时,VS 编辑器将突出显示这些部分 -
"Employee does not contain member called 'StreetNo'"
那我来处理那条红色的波浪线。
可能吗? 例如:
var model = Employee; // Employee is a class
及以下使用方法如下:
model newInstance = new model();
我尝试使用泛型 (TItem),但我无法在泛型中分配 TItem 的类型 class:
public class Foo<TItem> where TItem : Employee
{
// where TItem : Employee - this part of code only sets constraint, but doesn't set TItem equal to Employee - (e.g. TItem = Employee)
}
这是剃刀组件的一个非常基本的示例,实际上是部分 class。我只是简化了案例。有什么想法吗?
你可以试试using
aliases:
using Model = Employee;
稍后在代码中:
Model newInstance = new Model();