在使用泛型类型时,我在修改IEnumerable<>值方面遇到了一些困难。
下面是一些代码可以开始:
public class ParameterArray<TEnumerable, TType> : IParameterArray<TEnumerable, TType>
where TEnumerable : ICollection<TType> // Note that I have tried with IEnumerable<TType> instead of ICollection<TType>,
可能重复:
给定只对枚举值进行操作的泛型方法。
static void <T> method(T enum) where T ?????
{
// do something with enum...
}
如何约束T,使其只接受枚举值?我尝试过使用struct,但是这不允许使用可空枚举类型调用我的方法。
我正在为Entity Framework4中的ENUM创建包装器POCO类,正如前面提到的。我已经为枚举创建了包装器,如下所示
public class PriorityWrapper
{
private gender _t;
public int Value
{
get
{
return (int)_t;
}
set
{
_t = (gender)valu
我的Prisma分局里有两张桌子。一个是针对管理员的,另一个是针对用户的,因为它们之间有很大的不同,所以我决定不创建一个isAdmin字段。他们都有共同的建立,被描述为一个表(一对多的关系),但它只有一个字段(名称)。我想知道创建一个Enum来表示这个字段是否是一个好主意。我唯一的疑问是,由于枚举的值可以更改(动态添加更多字段),所以它不如创建表那么好。
model Admin {
id String @id @default(uuid())
pin Int
establishment Establishment @
假设您有一个采用泛型类型的方法,例如枚举eType以及一个具体的对象。然后,该方法根据枚举类型确定要调用的方法。每个被调用的私有方法都知道自己的返回类型(根据传递的对象的值实例化一个具体的类型化类)。公共方法事先不知道它将返回哪种类型。
/// A Generic method to call individual methods depending on the given enum
/// and returns a Generic type.
public T GetSomething<T>(enum eType, Model myClass) where T : class