2019-09-17「ファイルの属性」は、このファイルが「どういう」ファイルなのか、を表現するものです。知られているだけでも種類がいろいろあります。通常のファイルか削除可能なファイルか読み取り専用か隠しファイル(ファイルは存在するが、通常は見えないようにしているファイル)かシステムファイルかディレクトリなのか(ディレクトリもファイルの一種という考え方です)圧縮されているファイルデータが暗号化されているかこれらの情報はSystem.IO.FileAttributesという列挙子(enum)で表現されます。属性の取得方法(System.IO.FileAttributes)System.IO.FileAttributesで属性を取得する方法は、2通りあります。pathにファイルのパスを指定すると、戻り値で属性を取得。プロパティで属性を取得。サンプルコードは下記の通りです。Console.WriteLine(attr2.ToString());}このサンプルでは、テスト用に用意していたテキストファイルで結果は'Archive'とだけ表示されます。@"D:\work\test\FileInfoTest1\FileInfoTest1";とすると、'Directory'と表示されます。ディレクトリを指しています。ファイルが圧縮されます。」というものがありますが、これはzip圧縮ファイルやlzh書庫などの「圧縮ファイル」のことではなく、ファイルのプロパティで指定する「内容を圧縮してディスク領域を節約する」でチェックを入れて圧縮したファイルやディレクトリのことです。属性のチェックは、簡単なようでちょっと面倒です。下記は間違ったチェック方法です。もっているディレクトリにしか使えません。圧縮されたディレクトリや、隠しフォルダの場合は、'Directory'属性を持っているのですが、このif文の中に入りません。いった複数の属性でもディレクトリ属性を持っていれば、このif文の中に入るようにするには、下記のように実装しなければいけません。Directory");}C言語をされている方は、もうお分かりだと思います。このSystem.IO.FileAttributesは、ファイル属性をビットで表現しているのでこのようにして判別しています。サブスレッドからフォームの表示を行う(Invoke)C#でスレッドを生成して、処理を行うとその処理状態やデータなどをフォーム上に表示したくなります。日付を選択する(DateTimePicker)前回、「日付」を入力するコントロールのMonthCalendar(System.Windows.Forms名前空間)の基本を紹介しました。今回はDateTimePickerの基本を紹介します。カスタム(自作)のコレクションクラスを実装する方法を試してみます。インストールされているプログラムのリストを取得する(Microsoft.Win32.Registryクラス)「プログラムのインストール状態」といっても、PC内の入れて使っているものすべてではなく、Windowsインストーラなどでインストールしたプログラムだけが対象です。