我有枚举的问题
我需要在基类或接口中创建一个枚举(但是空的)
class Base
{
public enum Test;
// ???
}
Run Code Online (Sandbox Code Playgroud)
并在一些父类中创建不同的枚举之后
class Parent1
{
public enum Test {A, B, C};
}
class Parent2
{
public enum Test {J, H, K};
}
Run Code Online (Sandbox Code Playgroud)
现在,当我必须使用枚举时,我有下一节课的方法
class Test<T>
{
public void Foo(Test enum)
{
int value = (int) enum;
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做那样的事情?
如果不是,我必须在每个班级使用静态内联...
class Parent1
{
public static int A = 0;
public static int B = 5;
public static int C = 7;
}
class Parent2
{
public static int …Run Code Online (Sandbox Code Playgroud) 我有接口:
public interface Inx<T>
{
T Set(Data data);
}
Run Code Online (Sandbox Code Playgroud)
用这个方法简单的类
public class Base
{
??? Set(Data data) { ... }
}
Run Code Online (Sandbox Code Playgroud)
和那样的父类:
public class Parent : Base, Inx<Parent>
{
...
}
Run Code Online (Sandbox Code Playgroud)
我想从子类中的Set metod返回父类型这可能吗?我需要这样做:
list.Add(new Parent().Set(data));
Run Code Online (Sandbox Code Playgroud)
现在我必须这样做:
T t = new T();
t.Set(data);
list.Add(t);
Run Code Online (Sandbox Code Playgroud)
它有点烦人,我必须多次使用它
抱歉spam好嗯我可以使用类似的东西:
this.GetType().GetConstructor(new System.Type[] { typeof(Data) }).Invoke(new object[] { data })
Run Code Online (Sandbox Code Playgroud)
所以也许好的解决方案是从这个方法返回一个对象; \?
通用接口的通用类似乎是大内存浪费...这个类的beacose函数是相同的只返回类型是不同的