Suche senden
Hochladen
抽象太郎ものがたり そして伝説へ
•
1 gefällt mir
•
7,865 views
Kouji Matsui
Folgen
NGK2014B - 名古屋合同懇親会2014 http://www.kekyo.net/2014/12/06/4251
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 22
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Recomendados
LTの技術
LTの技術
Hiromu Shioya
ClovaFashion
ClovaFashion
Kenichi Yoshida
式の体を成して無い式を式の体を成すように式と式木で何とかする式
式の体を成して無い式を式の体を成すように式と式木で何とかする式
Kouji Matsui
メタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらば
Kouji Matsui
Hello! intermediate language
Hello! intermediate language
Kouji Matsui
山椒の味は大人の味
山椒の味は大人の味
Kouji Matsui
Nespのコード生成
Nespのコード生成
Kouji Matsui
真Intermediate languageのキホン
真Intermediate languageのキホン
Kouji Matsui
Más contenido relacionado
Mehr von Kouji Matsui
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
Making archive IL2C #6-55 dotnet600 2018
Making archive IL2C #6-55 dotnet600 2018
Kouji Matsui
Matrix signal controller and BrainPad overview
Matrix signal controller and BrainPad overview
Kouji Matsui
Fun with BrainPad
Fun with BrainPad
Kouji Matsui
What's Functional?
What's Functional?
Kouji Matsui
Pitfall for WioLTE
Pitfall for WioLTE
Kouji Matsui
How to make the calculator
How to make the calculator
Kouji Matsui
Write common, run anywhere
Write common, run anywhere
Kouji Matsui
Locality of Reference
Locality of Reference
Kouji Matsui
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
You will be assimilated. Resistance is futile.
You will be assimilated. Resistance is futile.
Kouji Matsui
How to meets Async and Task
How to meets Async and Task
Kouji Matsui
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
Kouji Matsui
Async deepdive before de:code
Async deepdive before de:code
Kouji Matsui
Thread affinity and CPS
Thread affinity and CPS
Kouji Matsui
Async DeepDive basics
Async DeepDive basics
Kouji Matsui
continuatioN Linking
continuatioN Linking
Kouji Matsui
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
Win32 APIをてなずけよう
Win32 APIをてなずけよう
Kouji Matsui
不健康なIt戦士を健康的にするアレの話
不健康なIt戦士を健康的にするアレの話
Kouji Matsui
Mehr von Kouji Matsui
(20)
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Making archive IL2C #6-55 dotnet600 2018
Making archive IL2C #6-55 dotnet600 2018
Matrix signal controller and BrainPad overview
Matrix signal controller and BrainPad overview
Fun with BrainPad
Fun with BrainPad
What's Functional?
What's Functional?
Pitfall for WioLTE
Pitfall for WioLTE
How to make the calculator
How to make the calculator
Write common, run anywhere
Write common, run anywhere
Locality of Reference
Locality of Reference
C#でわかる こわくないMonad
C#でわかる こわくないMonad
You will be assimilated. Resistance is futile.
You will be assimilated. Resistance is futile.
How to meets Async and Task
How to meets Async and Task
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
Async deepdive before de:code
Async deepdive before de:code
Thread affinity and CPS
Thread affinity and CPS
Async DeepDive basics
Async DeepDive basics
continuatioN Linking
continuatioN Linking
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Win32 APIをてなずけよう
Win32 APIをてなずけよう
不健康なIt戦士を健康的にするアレの話
不健康なIt戦士を健康的にするアレの話
抽象太郎ものがたり そして伝説へ
1.
むかーしむかし… • いつものように、川でILしていると…
J
2.
「J」の付く桃から… J インターフェイス
スタティックメソッド!! ?!?!
3.
抽象太郎 ものがたり そして伝説へ…
2014.12.06 Center CLR / Kouji Matsui NGK2014B
4.
自己紹介 •けきょ(@kekyo2) •Center
CLRオーガナイザー •会社やってます。フレームワークとかアーキ。 •認定スクラムマスター。 •自転車乗ってます。 •去年は、「山椒」がどうとかいうネタ。
5.
「J」の付く言語では… •はるか遠い昔、伝説によれば、「J」の付く言語ではイン ターフェイスにスタティックメソッドが定義できたと言う。
•C#では、インターフェイスは純粋抽象なので、定数や実 装を持つ事は出来ない。 C#はそうかもね
6.
ILならどうかな?!
7.
Emitでスタティックメソッドを定義
8.
Emitでプロパティを定義
9.
Emitでインターフェイスに実装 GitHub見て
10.
使ってみる、C#で。 ダメ ぽよ
11.
リフレクションで動的にならおk
12.
つまらん… • IL・CLR的に許されているのは、やや興味深い。だが、
我々が探しているのはこのようなチープな代物ではない… そ、そうだ、そもそも伝説は J から始まったのだった!?
13.
「J」の伝説を再調査 •驚愕の事実、「J」においても、インターフェイスに スタティックメソッドは実装できない(気のせいだったorz)
た、確かめなければ アァァァァッッ!! 「J」において許されるのは、 定数とインナークラス の定義のみであった!?!
14.
これはもう、 「伝説級のアレ」 しかなかろう…
15.
オーパーツの発掘
16.
J#、初体験
17.
やはり、駄目なのか?… プロパティだと思ってる
18.
をををを!!! こいつ、 動くぞ!?
19.
と、言う事は… •Emitしたインターフェイスでもおk!!!
20.
まとめ •IL・CLRのレベルでは、インターフェイスに定数・スタ ティックメソッド・プロパティ・インナークラスを持つ事
が可能。 •C#のコンパイラは、インナークラス以外は認識不能。 IntelliSenseは認識しているのが惜しい… Roslynでは統一 されるか?(多分、駄目な方向に) •C#のインターフェイスは、多分COMのインターフェイス が基礎にあると思います(インターフェイスは純粋抽象で なければならない) •インナークラスへのアクセスが除外されていないのは、 C#コンパイラのバグ?かも…
21.
で? •何の役に立つんだ? •伝説が判明した。って事でw
忘年会だしね!
22.
めでたしめでたし。 •来年もCenter CLRをよろしくお願いします(´Д`)
•GitHub https://github.com/kekyo/CenterCLR.StaticMethodInInterface.git •ブログ http://www.kekyo.net/ •Center CLR公式サイト(Facebook) http://centerclr.net/
Jetzt herunterladen