public class EncryptVal { private EncryptVal(T 値) { Set( 値 ); }
// Encrypt
public bool Set(T value)
{}
// Decrypt & return (T)value;
public T Get()
{}
public static implicit operator EncryptVal<T>(T value) {
//shuffle bits
return new EncryptVal<T>(value);
}
public static implicit operator T(EncryptVal<T> value) {
//unshuffle bits
return value.Get(); ///// error ...
}
}
+ 演算子と ++ 演算子をオーバーロードできませんでした。これどうやってするの?
利用方法:
EncryptVal<int> e = 42;
EncryptVal<int> f = 1;
Console.WriteLine("decrypt int count \t= {0:d}", f.Get()); // ok
Console.WriteLine("decrypt int count \t= {0:d}", f); // error
Console.WriteLine("decrypt int count \t= {0:d}", e); //how?