タグ

C#に関するhecomiのブックマーク (9)

  • Interop with Native Libraries | Mono

    Introduction The Common Language Infrastructure (CLI) is designed to make it “easy” to interoperate with existing code. In principle, all you need to do is create a DllImport function declaration for the existing code to invoke, and the runtime will handle the rest. For example: [DllImport ("libc.so")] private static extern int getpid (); Please note that most of the classes and enumerations menti

    hecomi
    hecomi 2016/01/03
  • C# REPL | Mono

    C# GUI Shell This documents the features available in the C# interactive shell that is part of Mono’s C# compiler. An interactive shell is usually referred to as a read eval print loop or repl. The C# interactive shell is built on top of the Mono.CSharp library, a library that provides a C# compiler service that can be used to evaluate expressions and statements on the flight as well as creating t

    hecomi
    hecomi 2015/11/01
  • Visual Studio Code and Unity

    Version 1.85 is now available! Read about the new features and fixes from November. Unity Development with VS Code Visual Studio Code makes it easy to write and debug your C# scripts for Unity. This guide will help you make Unity and Visual Studio Code work together. If you're looking for resources to learn C#, check out our C# curriculum. Learn C# Curriculum If you're looking for resources to lea

    Visual Studio Code and Unity
  • C#のためのC++の配列、構造体、ポインタの変換処理

    C#(.NET Framework)では、構造体(Managed)やメンバに対して属性を指定することにより、C言語やC++(Unmanaged)間でデータの相互交換を行うことができます。 MarshalAs属性を用いた構造体の作成 C#では、Cと違って定義だけでは配列の長さがわかりません。そこで、C#(.NET Framework)では、構造体やメンバに対して属性を指定することにより、ManagedとUnmanagedで相互交換を行わせる事ができるようになっている。 例えば、以下のようなC++の構造体を、C#でアクセスします。 struct Info { int index; char name[128]; int statuses[50]; }; この場合、Managed構造体をメンバ順序もサイズも同じUnmanaged構造体を定義するには、属性を使用して以下のように定義します。 [St

    hecomi
    hecomi 2015/09/13
  • C#からC++DLLを呼び出してマーシャリングの動きを確認した(前編)

    C#からC++のDLLを呼び出す前に必要な理解 C#からC++で作成されたDLL(アンマネージDLL)の呼び出し時における マーシャリングに関する考え方、記載方法をまとめてみました。 大前提として、.NETとは無縁のC++で作成されたDLLを呼び出す方法を記載しています。 また、開発環境はMicrosoft Visual Studio 2010としています。 そもそもC#という言語は.NET Frameworkというフレームワーク上で動いていて 利用したメモリの開放や、細かなメモリ操作は.NETに丸投げすることで プログラマは利用資源を気にすること無く「ユースケースとしてやりたいことを素直に書く事ができる」 言語だと認識しています。 一昔前であれば、ただのテキストファイルを読み込むにあたって 1.まずは読み込みに必要なメモリ領域を確保 2.テキストファイルを開く 3.テキストファイルを読み

    hecomi
    hecomi 2013/08/26
  • デリゲート

    概要 デリゲート(delegate: 代表、委譲、委託)とは、メソッドを参照するための型です。 C言語やC++言語の勉強をしたことがある人には、 「デリゲートとは関数ポインターや関数オブジェクトをオブジェクト指向に適するように拡張したもの」 と言った方が分かりやすいかもしれません。 デリゲートは用途も関数ポインターとほとんど同じで、 述語やイベントハンドラ(「イベント」で説明)等に利用します。 ただし、C言語の関数ポインターと違い、 インスタンスメソッドを参照したり、 複数のメソッドを同時に参照する事が出来ます。 delegate(委譲)という言葉のニュアンスとしては、 「他のメソッドに処理を丸投げするためのオブジェクト」というような意味です。 イベントが起きたときのイベントハンドリングをどのメソッドに丸投げ(委託)するかを指示するためなどに使われます。 ポイント C# では、メソッドも他

    デリゲート
    hecomi
    hecomi 2013/07/23
  • Vim で C# を書くなら OmniSharp で決まり! - 永遠に未完成

    Vim Advent Calendar 2012 の 173 日目の記事です。 今回は C# を書くのに便利な OmniSharp と言うツールを紹介します。これさえあれば、エディタとしての Visual Studio はもう必要ありません! 経緯 (興味ない人はここは飛ばしてインストールのところから読むと良いです) 先日、OmniSharp なるものの存在を教えてもらいました。 @thinca これってでどうなんでしょう URL 2013-05-09 23:47:26 via YoruFukurou to @thinca @mizchi お、面白そうですね!私は知らなかったです。明日あたり見てみますー。ありがとうございます。 2013-05-09 23:51:36 via tweetvim to @mizchi と言うわけで調査してみることにしました。 様々な罠にかかりつつ、ソースコード

    hecomi
    hecomi 2013/05/24
    おぉ、OmniSharp 動いた、感動
  • Edge.jsは、Node.jsと.NETを結びつける

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Edge.jsは、Node.jsと.NETを結びつける
    hecomi
    hecomi 2013/04/18
    うぉ、コレ凄いな。
  • neue cc - Modern C# Programming 現代的なC#の書き方、ライブラリの選び方

    と、題しまして第1回 業開中心会議 .NET技術の断捨離で話してきました。岩永さんが概念的なものを、私がC#とライブラリにフォーカスして具体的なものを、パネルディスカッションでフレームワーク周りの話を。的な分担だったでしょうか。 Modern、といっても、すんごく最先端で尖った感じ!ではなくて、来は今そこに当たり前のようにあるやり方を、ちゃんと選択していこう。といったような内容です。対象をどの辺に置こうかなあ、といったところで、やっぱ@ITでいうギョーカイだと、ラムダ禁止とか.NET 2.0を強いられているんだ、とかそういう人も少なくないのだろうと思ったので、その辺りを最低ラインに敷いて中身を組みました。 つまりLINQ使えってことですよ!というか、もう登場から5年も経とうとしているのに、未だにLINQ使うべきだよ!と言って回らなければならない事実が悲しくもあり。ちなみに他の言語にもLI

    hecomi
    hecomi 2013/02/01
  • 1