Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

roslyn

1.067 visualizaciones

Publicado el

  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

roslyn

  1. 1. Roslynを試してみた
  2. 2. とある Faceb○○k 「Roslyn当たりかなぁ。。」と書いておきながら、実はまだ触ったことがない。 なので最後の一文は少し逃げれる余地を残してみた。
  3. 3. とある Faceb○○k の返信 逃げられなくなったので頑張って調べました。
  4. 4. CSC.exe / VBC.exe CS/VB Assembly Black Box / No API
  5. 5. Roslyn CS/VB Assembly White Box / API
  6. 6. • • • • • コード解析とかリファクタリングとか C# Scriptとか REPL(Read Eval Print - Loop)とか Visual Studio への統合とか メタプログラミングとかDSLとか言語拡張とか
  7. 7. • • • • • コード解析とかリファクタリングとか C# Scriptとか REPL(Read Eval Print - Loop)とか Visual Studio への統合とか メタプログラミングとかDSLとか言語拡張とか 現状は入ってない。
  8. 8. でもやってみた。
  9. 9. public string Name { get; set; }
  10. 10. public Program() { this.Name = "k-maru"; } public string Name { get; set; }
  11. 11. public string Name { get; set; } = "k-maru";
  12. 12. やってみた。
  13. 13. public string Name { get; set; }
  14. 14. public string Name { get; set; } public string Name { get; set; } = "k-maru";
  15. 15. private string __name__ = "k-maru"; public string Name { get; set; } = "k-maru"; public string Name { get { return __name__; } set { __name__ = value; } }
  16. 16. Demo
  17. 17. private string __name__ = "k-maru"; public string Name { get; set; } = "k-maru"; public string Name { get { return __name__; } set { __name__ = value; } }
  18. 18. Roslyn.Compilers.CSharp.SyntaxRewriter
  19. 19. 想像してみよう
  20. 20. 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>();
  21. 21. ご清聴ありがとうございました。

×