トップ «前の日記(2016-01-11) 最新 次の日記(2016-01-20)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2016-01-15

_ C#の謎仕様

C#の仕様でなんでこういう仕様を入れたのだろう? と不思議になるのが識別子の@プリフィクスだ。

@をつけるとキーワードを識別子として利用できる。

確かに、rubyでkalssという変数名を見るとうーんと思わないでもないのだが、でもそこまでしてキーワードを使いたいものかなぁ。

class @class
{
   internal Type @typeof { get; set; }
   static void Main()
   {
       var @class = new @class();
       @class.@typeof = typeof(@class);
       Console.WriteLine(@class.@typeof); // => A+class
   }
}
本日のツッコミ(全2件) [ツッコミを入れる]
_ 宮川 拓 (2016-01-17 16:07)

他の.NET言語のプログラムとの互換性のためではないでしょうか。たとえば、F#で作られた「this」という名前の関数をC#から呼び出さなければならない、というようなことはありそうです。

_ arton (2016-01-18 23:18)

おおなるほど。それは相当納得が行きます(でも、上の@classのNameがA+classになっているところをみると、@thisはA+thisになって、結局解決できないのではないか疑惑もあります)。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|

ジェズイットを見習え