您是否有关于创建一个既包含struct又使用string作为通用约束的类的解决方法?
public class AutoEncryptor<T> where T : struct, string {
{
private T? _value;
// codes removed for brevity
}
我的目标是避免创建具有相同结构的重复方法的麻烦,但区别在于,另一个接受字符串而另一个接受struct(值类型)。
答案 0 :(得分:4)
不,这是不可能的。最好的方法是使用抽象通用基类,并专门用于string
和struct
。
public abstract class AutoEncryptorBase<T>
{
protected T _value;
}
public class AutoEncryptor<T> : AutoEncryptorBase<T?> where T : struct
{
}
public class TextAutoEncryptor : AutoEncryptorBase<string>
{
}