外部アセンブリからアクセスできる型かどうかの public
判定は Type.IsVisibleで可能で、Assembly.GetExportedTypes() で全てのパブリック型を取得できる。
この internal
版の判定を行いたい。public
, internal
, protected internal
で入れ子になったネスト型も含めて、同一アセンブリ内でアクセスできるかどうかを判定する。
ここでは protected
による継承でアクセスできるかどうかは判定対象外とする。
新着記事
Partial Template を呼び出す際に、引数を渡して使用する例。
DateTime をミリ秒未満など指定した単位へ切り捨てや、10分単位など任意の単位へ丸める方法。
JetBrainsのIDE系のショートカットキーで Find Usages (Alt+F7) が効かなかった。
GeForceExperience のオーバーレイ機能をOFFにして対応した。
ユーザー定義変数(set @var_name)を定義してSQL文を作り、prepare と execute を使用してSQL文を実行します。
AssemblyInfo を AssemblyName, CustomAttribute, FileVersionInfo の3つの方法で取得します。
自分自身のアセンブリ情報と3種類のバージョン(アセンブリ・ファイル・製品)を取得します。
.NET Framework での記述を .NET Core SDK ベース csproj に置き換えて記述した比較です。
安心して使うには、0 は有効な値として使わず、None = 0、Default = 0 などと定義する。判定のHasFlag()は、.NET Core 2.1 から高速なので使い、それ以前ではビット演算で高速判定する。
columns の margin が原因で、モバイル端末では以下のように水平スクロールバーが表示されてしまいました。不要なので、is-variable is-0-mobile を使用して消しました。
Win 32 APIのFindFirstFileExを使用して実装します。Directoryクラスと同じような静的メソッドで実装するので、そのまま差し替えられます。
Collection<T>
は独自コレクションを実装する時に継承して使用します。Collection<T>
は内部でList<T>
を保持していますが、拡張できるように仮想メソッドが定義されています。
64bitのOSで起動している32bitアプリ(WOW64)から外部アプリ(任意のファイル)を起動する際に、WOW64のリダイレクトの影響を受けずずに正常に起動させる方法です。
cmd.exeを経由して外部アプリを起動するようにします。
メニューバーをクリックしてもTextBoxにフォーカスが残り、UpdateTrigerが呼ばれずTextBoxにバインドした値が更新されない罠。
FocusManager.IsFocusScopeで解決。
DataTable
をDataGrid
にAutoGeneratingColumn
で自動作成させたケースで、列のヘッダー名と非表示の設定をバインドで制御する例です。
Windows API Code Packを使用してアイコンを取得して画面表示します。
ローカルファイルの場合は、System.Drawing.Icon.ExtractAssociatedIconで取得することもできますが、UNC(’\‘から始まるパス)は例外になります。
リセットしすぎて必要なコミットを消してしまった場合の救済方法です。git reflog
とgit reset
を使用します。
git filter-branch –env-filterを使用して過去の情報を変更します。
無条件での一括変更、特定のメールアドレスを条件とした変更をする方法です。--commit-filter
は遅いようなので使用していません。
git filter-branch –index-filterを使用して、過去からファイル/フォルダを消し去ります。
ファイル名にスペースが含まれる場合は注意です。
–tree-filterより高速です。
MDL の Fixed header を使用すると、AndroidのChromeで下スクロールしてもアドレスバーが非表示にならない。CSSを追加定義して対応します。
Gridの中にGridSplitterを配置して、隣り合うコントロールの幅をリサイズします。
Popupコントロールを使用したメッセージを表示します。表示位置を選択する使用例です。
依存性がなく軽量(約12KB)なZooming.jsを使用します。Material Design Liteを使用したサイトに適用したところ、ズームした画像が見えなかったため、z-indexを切り替えて対応しました。