.NET Framework

Environment

Environmentは、環境情報、プラットフォーム状況の取得、設定に使う。Environment クラス (System) | Microsoft DocsOSバージョンを取得する。OSVersionはOperatingSystem型なのでToStringする。 version = Microsoft Windows NT 6.1.7601 Service Pack 1 続…

Task

.NET Framework 4.0で、非同期操作のためのクラスTaskが追加された。Task クラス (System.Threading.Tasks) | Microsoft DocsこれまでThreadで書いていた非同期処理をTaskで書いてみる。 Taskのインスタンスを使う場合は、実行すると、 Main(1) Task(1) Main…

Thread.Start

Thread.Startでスレッドを開始する。Thread.Start メソッド (System.Threading) | Microsoft DocsStartは引数を受け取ることが出来るオーバーロードもあるので、今回はそちらを扱う。Startに3を渡して、ThreadFuncでは渡された引数分の3回だけ回してもらうこ…

Thread.Join

Thread.Joinで、ワーカースレッドが終了するまで待つ。Thread.Join メソッド (System.Threading) | Microsoft Docsメインスレッドの方が先に終わってしまうような場合。 // 名前空間の登録 using System; // 共通データ型と基本クラス(System名前空間) using…

ThreadStart

ThreadStartデリゲートにスレッドで実行するメソッドを入れておく。ThreadStart 代理人 (System.Threading) | Microsoft Docs ThreadStartデリゲート変数thstを置いちゃう。で、それをThreadのコンストラクタに渡す。 同時並行で走らせる。 Main(1) ThreadFu…

EventArgs

イベントハンドラの第2引数として渡されるのがEventArgs。 イベントに関する情報がはいっている。EventArgs Class (System) | Microsoft Docs基本的には、自分で継承して独自の情報を格納できるようにしておいて、ハンドラに渡すという形になる。空のプロジ…

Collection<T>

Collection<T>は、ジェネリクスなコレクションの基本クラス。https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.objectmodel.collection-1?view=netframework-4.8<T>のないバージョンはない。 List<T>を先にやってしまったが、本来こちらを先にやるべ</t></t></t>…

IList<T>

IList<T>は、ジェネリクス版のIList。https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.ilist-1?view=netframework-4.8List<T>インスタンスをIList<T>に突っ込んでみる。List<T>がIList<T>を継承してるから当然だが。 i = 1 i = 2 i = 3 i = 4 i = </t></t></t></t></t>…

List<T>

List<T>は、ジェネリクスで型を指定できるリスト。 (ArrayListのジェネリクス版に相当する。)https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.list-1?view=netframework-4.8ArrayListではObject型にキャストしてアクセスしていたが、L</t>…

IList

IListは、リストの定義を満たすための要件が定義されているインターフェース。IList Interface (System.Collections) | Microsoft Docsここからは継承して実装するのも大変なので使い方を簡単に。ArrayListはIListを継承してるので、 s = A s = B s = C s = …

ICollection<T>

ICollection<T>は、ジェネリクス版のICollection。https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.icollection-1?view=netframework-4.8IEnumerable<T>を継承している。追加の機能だけ実装する。 Addで1大きいサイズの配列を生成して、</t></t>…

IEnumerator<T>

IEnumerator<T>は、ジェネリクス版のIEnumerator。https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.ienumerator-1?view=netframework-4.8<T>のないIEnumeratorとIDisposableの各メンバを実装しないといけない。TestEnumeratorのコンスト</t></t>…

IEnumerable<T>

IEnumerable<T>は、ジェネリクス版のIEnumerable。 C#にジェネリクスが登場してからは<T>のないIEnumerableを使うことはあまりないだろう。https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.ienumerable-1?view=netframework-4.8 自分のメ</t></t>…

ICollection

ICollectionは、コレクションの定義を満たすための必須の要件が定義されているインターフェース。ICollection Interface (System.Collections) | Microsoft Docs コレクション概要 - アルゴリズムとデータ構造 | ++C++; // 未確認飛行 C C# のコレクション使…

MethodInfo.Invoke

MethodInfo.Invokeで、MethodInfoオブジェクトの指すメソッドは実行される。MethodInfo.Invoke(Object, Object[]) Method (System.Reflection) | Microsoft Docs 動的にDLLファイルのクラスメソッドを呼び出す (Reflectionを用いたアセンブリの動的呼び出し)…

MethodInfo

MethodInfoは、メソッド情報を持つ。MethodInfo Class (System.Reflection) | Microsoft Docs取得したメソッド情報の一部を出力してみる。空のプロジェクト空のプロジェクト。MainClass.csMainClass.cs。publicなのか、staticなのか、メソッド名、戻り値型な…

Type.GetMethod

Type.GetMethodは、指定のメソッド名のメソッド情報を取得する。Type.GetMethod Method (System) | Microsoft DocsClassLibraryClassのGetStringのメソッド情報を取得できるか。空のプロジェクト空のプロジェクト。MainClass.csMainClass.cs。type.GetMethod…

Activator.CreateInstance

Activator.CreateInstanceは、指定された型のオブジェクトインスタンスを生成する。Activator.CreateInstance Method (System) | Microsoft Docs 動的にDLLファイルのクラスメソッドを呼び出す (Reflectionを用いたアセンブリの動的呼び出し) (C#プログラミ…

Module.GetType

Module.GetTypeは、モジュールから指定された型(クラス)名のTypeを取得。Module.GetType Method (System.Reflection) | Microsoft DocsこれもType.GetTypeのオーバーロード。空のプロジェクト空のプロジェクト。MainClass.csMainClass.cs。mod.GetTypeでtype…

Assembly.GetType

Assembly.GetTypeは、アセンブリから指定された型(クラス)名のTypeを取得。Assembly.GetType Method (System.Reflection) | Microsoft DocsType.GetTypeのオーバーロードメソッドだと思うが、別に定義されているようなので。空のプロジェクト空のプロジェク…

Module

Moduleは、モジュール情報を持つオブジェクト。Module Class (System.Reflection) | Microsoft Docsもうちょっといろいろな情報を出してみる。空のプロジェクト空のプロジェクト。MainClass.csMainClass.cs。出来る限りプロパティを出力してみる。DLLを置くD…

Assembly.GetModule

Assembly.GetModuleは、モジュール情報を取得する。Assembly.GetModule(String) Method (System.Reflection) | Microsoft Docsアセンブリとモジュールがどう違うのかについては、解説:インサイド .NET Framework 第1回 Managed Code/アセンブリ/モジュー…

Assembly.Load

Assembly.Loadも、アセンブリをロードするメソッド。Assembly.Load Method (System.Reflection) | Microsoft Docs".dll"を省略できたり、完全限定名を指定してロードできる。空のプロジェクト空のプロジェクト。MainClass.csMainClass.cs。"ClassLibrary"だ…

Assembly.LoadFile

Assembly.LoadFileでも、アセンブリをロードできる。Assembly.LoadFile Method (System.Reflection) | Microsoft Docs .NETアセンブリでのLoadFileとLoadFromの違い - コードログLoadFileは絶対パスを指定する。 同じdllでもパスの位置が違うファイルと区別…

Assembly.LoadFrom

Assembly.LoadFromで、指定のDLLやEXEのアセンブリをロードする。Assembly.LoadFrom Method (System.Reflection) | Microsoft Docs 動的にDLLファイルのクラスメソッドを呼び出す (Reflectionを用いたアセンブリの動的呼び出し) (C#プログラミング)空のプロ…

Assembly

Assemblyクラスは、クラスライブラリや実行ファイルなどのアセンブリ情報を持つ。Assembly Class (System.Reflection) | Microsoft Docs空のプロジェクト空のプロジェクト。MainClass.csMainClass.cs。DLLを置くプロジェクトファイルと同じ場所に、DLLを置く…

DllImportAttribute

DllImportAttributeは、C++などで書かれた外部ライブラリ(DLL)のメソッドを宣言する時に付ける属性。DllImportAttribute Class (System.Runtime.InteropServices) | Microsoft DocsMessageBoxなど、ANSI関数とUnicode関数が別れている場合は、呼び出す関数に…

ConditionalAttribute

ConditionalAttributeは、指定のシンボルマクロが定義されている時にそのメソッドを呼び出す属性。ConditionalAttribute Class (System.Diagnostics) | Microsoft Docs 条件付きの呼び出し (ConditionalAttribute) - Programming/.NET Framework - 総武ソフ…

Form.Shown

Form.Shownは、初めてフォームが表示される時だけ発生する。Form.Shown Event (System.Windows.Forms) | Microsoft Docs Windowsフォームの表示直後に初期化処理を行うには?[2.0のみ、C#、VB]:.NET TIPS - @IT 全ては時の中に… : 【VB.NET】Shownイベン…

Application.ApplicationExit

Application.ApplicationExitイベントは、アプリケーションが終了する時に発生するイベント。Application.ApplicationExit Event (System.Windows.Forms) | Microsoft DocsWindowsアプリケーションWindowsアプリケーションで、Buttonを選択Buttonを、このよ…