タグ

2010年4月9日のブックマーク (3件)

  • Dream.Build.Play 2012 Challenge

    All Microsoft Global Microsoft Security Azure Dynamics 365 Microsoft 365 Microsoft Teams Windows 365 Tech & innovation Microsoft Cloud AI Azure Space Mixed reality Microsoft HoloLens Microsoft Viva Quantum computing Sustainability Industries Education Automotive Financial services Government Healthcare Manufacturing Retail All industries Partners Find a partner Become a partner Partner Network Fin

    Dream.Build.Play 2012 Challenge
    Ogacha
    Ogacha 2010/04/09
    開発者向け公式サイト
  • ジェネリクスの共変性・反変性(C# によるプログラミング入門)

    概要 Ver. 4.0 C# 4.0 で、ジェネリクスの型引数に共変性・反変性を持たせることが可能になりました。 (共変性・反変性という言葉の意味は「covariance と contravariance」参照。) ジェネリックの共変性・反変性 ジェネリクスの共変性・反変性というものがどういうものかというのを説明する前に、まず背景を。 ジェネリックコレクションに関して、昔から以下のようなことをしたいという要望がありました。 List<string> strings = {"aa", "bb", "cc"}; List<object> objs = strings; これを認めてしまうと何がまずいかというと、 以下のような不正な値の書き換えが起こり得る。 // strings と objs は同じオブジェクト objs[0] = 5; // int に書き換えられたらまずい string s

    ジェネリクスの共変性・反変性(C# によるプログラミング入門)
  • デリゲート

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

    デリゲート