C# 2010 version 4.0を使用しています。
次のようなint型とstring型を混合したMixedという型を定義したいのですが、
public class Mixed
{
private int _TheInt = 0;
public int TheInt
{
get { return _TheInt; }
set { _TheInt = value; }
}
private string _TheString = null;
public string TheString
{
get { return _TheString; }
set { _TheString = value; }
}
public static implicit operator int(Mixed m)
{
return m.TheInt;
}
public static implicit operator Mixed(int x)
{
Mixed m = new Mixed();
m.TheInt = x;
return m;
}
public static implicit operator string(Mixed m)
{
return m.TheString;
}
public static implicit operator Mixed(string x)
{
Mixed m = new Mixed();
m.TheString = x;
return m;
}
}
//Mixed m = 1;
//Console.WriteLine(m); //これだとコンパイルエラーになる
//Console.WriteLine(m.TheInt.ToString()); //「1」と表示される
int i = 1;
Console.WriteLine(i); //「1」と表示される
object o = 1;
Console.WriteLine(o); //「1」と表示される
Console.WriteLineなどで表示する場合に
例えばint型なら
int i = 1;
Console.WriteLine(i); //「1」と表示される
という具合にそのまま「1」と表示されます。
でもこのMixedの場合、
Mixed m = 1;
Console.WriteLine(m.TheInt.ToString()); //「1」と表示される
これでは「1」と表示されるのですが、
Console.WriteLine(m); //これだとコンパイルエラーになる
このやり方だとエラーになります。
なんとかしてint型やobject型のようにToString()を使わずに
表示させることはできないでしょうか?
QA151
In the end Zeus is forced to bring Persephone back from the lower world; but the goddess, by the contriving of Hades, still remains partly a deity of the lower world. In memory of her sorrows Demeter establishes the Eleusinian mysteries (which, however, were purely agrarian in origin).
試し訳
しまいに、ゼウスはペルセポネを力ずくで黄泉の国から連れ戻した。しかしこの女神はハーデースのもくろみにより、ある程度、黄泉の国の神性を未だに残す。彼女の悲しみを記念して、デーメーテールはエレウシス人の秘儀を創設した。(しかし、これは元々、純粋に農民(の宗派)であった)
質問
次の語は意味は分かるがもっと適当な言葉があるように思われます。
the contriving; 「もくろみ」としたが、辞書の計画・立案でもなさそうである。
still remains;「今も残す」としたが、「信じられて散る」がよいでしょうか
the Eleusinian mysteries;「秘儀」としたが、「宗派」でしょうか。
アッティカにEleusisという町があるのでここで密教を創始したと
理解しました。