roslyn
-
Upload
kazuhide-maruyama -
Category
Technology
-
view
712 -
download
3
Transcript of roslyn
Roslyn を試してみた
「 Roslyn当たりかなぁ。。」と書いておきながら、実はまだ触ったことがない。
なので最後の一文は少し逃げれる余地を残してみた。
とある Faceb○○k
とある Faceb○○k の返信
逃げられなくなったので頑張って調べました。
?
CSC.exe / VBC.exe
??CS/VB Assembly
Black Box / No API
Roslyn
White Box / API
CS/VB Assembly
• コード解析とかリファクタリングとか• C# Script とか• REPL(Read Eval Print - Loop) とか• Visual Studio への統合とか• メタプログラミングとか DSL とか言語拡張と
か
• コード解析とかリファクタリングとか• C# Script とか• REPL(Read Eval Print - Loop) とか• Visual Studio への統合とか• メタプログラミングとか DSL とか言語拡張と
か現状は入ってない。
でもやってみた。
public string Name { get; set; }
public string Name { get; set; }
public Program(){ this.Name = "k-maru";}
public string Name { get; set; } = "k-maru";
やってみた。
public string Name { get; set; }
public string Name { get; set; } public string Name { get; set; } = "k-maru";
public string Name { get; set; } = "k-maru";
private string __name__ = "k-maru";
public string Name { get { return __name__; } set { __name__ = value; }
}
Demo
public string Name { get; set; } = "k-maru";
private string __name__ = "k-maru";
public string Name { get { return __name__; } set { __name__ = value; }
}
Roslyn.Compilers.CSharp.SyntaxRewriter
想像してみよう
public depedency string Name { change;} public observable string Name {
get; set;}
public void SetCommonColumn({string UpdUser, DateTime UpdDate} table) { table.UpdUser = "k-maru"; table.UpdDate = DateTime.Now();}
private var names = new List<string>();
ご清聴ありがとうございました。