2016-12-06 54 views
0

嗨有沒有任何解決方法創建一個同時具有結構和字符串作爲通用約束的類?在類級別上的結構和字符串通用約束

public class AutoEncryptor<T> where T : struct, string { 
{ 
     private T? _value; 

     // codes removed for brevity 
} 

我的目標是我自己保存從創建具有相同的結構複製方法的麻煩,但不同的是,另一種接受字符串,另一個接受結構(值類型)。

+0

不,這是不可能的。 – Enigmativity

+0

即使你能做到'串?'類型也沒有意義。 – Enigmativity

+0

是的,我希望如果有任何解決方法,讓我重新說明我的問題。 :) – arvstracthoughts

回答

4

不,這是不可能的。最好的方法是使用抽象泛型基類,專門用於stringstruct

public abstract class AutoEncryptorBase<T> 
{ 
    protected T _value; 
} 

public class AutoEncryptor<T> : AutoEncryptorBase<T?> where T : struct 
{ 
} 

public class TextAutoEncryptor : AutoEncryptorBase<string> 
{ 
}