より良いエンジニアを目指して

記事を頻繁に書き直す性格なのでごめんなさい。

C#

Visual Studioでリソースの追加をするときはプロジェクトのプロパティから

C#

タイトル通りの小ネタですが、意外と毎回戸惑うのでメモ。 Visual Studioにてプロジェクトを作成したばかりの時にはResources.rexファイルは存在しません。 リソースを追加する時はプロジェクトのプロパティを開きます。 「このプロジェクトには既定のリソー…

Code ClimateがC#に対応したので使ってみた感想

C#

Code Climateはソースコードの静的解析を行うサービスです。 codeclimate.com 有料のサービスですが、GitHubの公開リポジトリについては無料で利用が可能です。 C#もついに対応されたので試してみることにしました。 Supported Languages for Maintainabilit…

ドメイン駆動開発のValueオブジェクトは実装のテクニック足り得る

C#

以前職場で行っていたドメイン駆動開発のValueオブジェクトについて、です。 ドメイン駆動開発 ドメイン駆動開発の主だった狙いとしては、デスクトップだろうとWebだろうと、クラウドだろうとオンプレだろうと、C#だろうとJavaだろうと、ビジネスロジックは…

Try .NETでC#トレーニング

C# C#

下記の記事で紹介されているTry.NETを試してみました。 これだ!ブラウザーでオフラインで動作する .NET 環境!Jupiter Notebooks のような使い方が .NET でも出来る。用意されているライブラリーの機能を考えると、本当に素晴らしいGitHub - dotnet/try: Tr…

WPFでコンボボックスの項目テキストを中心に

C#

以下のようにレイアウトの都合上、コンボボックスの項目文字列を中央揃えにしたい場合のお話です。 そんなの簡単じゃないか。HorizontalAlignment="Center"を使えばいいじゃないか。 Labelと一緒だと私は思ってました。 違います。 HorizontalContentAlignme…

.NET Framework 4.8で開発したいが、つまづいたのでメモ

C#

.NET Framework4.8がリリースされています。 docs.microsoft.com 高 DPIの対応など気になるところです。試してみたいところですが、意外とつまづいたのでメモです。 あれ、出てこないぞ。 当然だが、Runtimeだけでなく、SDK(Developer Pack)もインストールし…

基底クラスのループ処理の中で、特定のクラスでのメソッドを呼ぶ時の実装

C#

リファクタリングの頭の体操のような話です。 基底クラスのループ処理の中で、特定のクラスでのメソッドを呼ぶ時の実装について、思ったのでメモ。 以下のコードは、 抽象クラスのSpriteを用意 HumanとMagicianはSpriteクラスを継承して、実装 Magicianの時…

WPFでRadioButtonの項目をComboBoxにする

C#

WPFになると、コンポーネントを組み合わせて、少し凝ったコンポーネントを作ってみたくなるものです。 RadioButtonの項目にComboBoxにしたいなと思いました。 出来るかなーと思ったのですが、ComboboxでRadioButton.Contentタグで囲めばできます。 stackover…

HTML5+JavaScriptで画像処理をするための私の環境構築

C#

画像処理を試したいなと思ってました。 以下の本を読んでHTML5+JavaScriptで行うのは良さそうだなと思って、環境構築した時のメモ。 www.cutt.co.jp C#でデスクトップアプリも考えていたのですが、保守性とか後先考えずに小規模でごちゃごちゃ動かすならば動…

これでキミはC#の考古学者!?「dnSpy」と「dotPeek」

C#

知り合いが担当システムについて ソースがないdllもあります って話していたのですが、だったら、どうやって改修するのと聞いたら、dllからデコンパイルするらしいです。 リリースされているサーバーのaspxからソースを回収して開発と言うのは聞いたことがあ…

Visual StudioのXDesProc.exeにPCが侵略される

C#

XDesProcとは? 職場ではWPFの開発をしていたのですが、PC重いなー、とタスクマネージャーを開いてみました。 XDesProcって何? と調べてみました。 www.moonmile.net XDesProc.exeとはXAMLデザイナのことのようです。 実験 その挙動を観察すると、XAMLファ…

「.Net Day Online」を見よう

C#

Watch the recordings of JetBrains .NET Day Online 2019! Great sessions by community speakers #JBDotNetDay https://t.co/SY3Jw2MlDA pic.twitter.com/RAw3aXibgJ— JetBrains ReSharper (@resharper) 2019年5月20日 YouTubeで公開されています。 1セッ…

「ハッブル宇宙望遠鏡」のUWPをデスクトップ開発者のお手元に

C#

先日のInsider Dev Tourで持っていかれたのはWinUIの最新版のデモアプリ「ハッブル宇宙望遠鏡」でした。 GitHubでもリポジトリが公開されているので、デスクトップ開発者として家に帰ってすぐ動かしてみたくなったのでチャレンジしました。 その前にハッブル…

6/3 【Unity / .NET Core】 MagicOnion勉強会

C#

connpass.com 場所は東銀座。歌舞伎座なんて初めて見ました。 東銀座は厄介で都営浅草線については青砥方面と品川方面で改札は別々です。 帰りに間違ってしまいました。 勉強会ゴロ タダ飯目的、関係ないセミナーへの勧誘はお断りとのこと。 最近、勉強会ゴ…

Azure DevOpsでNUnitのテスト実行が出来るようにする

C#

はじめに de:code2019でバンダイナムコの竹村伸太郎さんがAzureDevOpsの有用性について熱く語っておられたので再チャレンジすることにしました。 私のプライベートリポジトリは BitBucket TeamCity SonarQube でした。 BitBucketはWebページが重いですし、リ…

de:code2019 DAY1

C#

Microsoftの開発者向けのイベントであるde:code2019に参加してきました。 www.microsoft.com Tech Summit 2018の時は基調講演に余裕をぶっこいて、ギリギリに行ったらサテライトで聴くことになったという幕開けでした。 今回はそうはなるまいと意気込んでま…

Xamarinでバイブレーションを実装

C#

Xamarinでバイブレーションを実装する時は? 以下のMSDNの記事に従って実装すればOKです。 docs.microsoft.com using Xamarin.Essentials; Vibration.Vibrate(); 後述しますが、TimeSpanでバイブレーション時間を指定できたり、キャンセルできますが、これだ…

ResharperのShow Dependency Project

C#

新しい職場で、新しいソリューションを触るのですが、ResharperのShow Dependency Projectがいい感じです。 ソリューションもしくはプロジェクトの右クリックメニューより実行できます。 Show Project Dependency これで全体像が掴めます。 この図をベースに…

新しい職場のお供にCsharp to PlantUML

C#

新しい職場にて Resharperでプロジェクトの依存関係をグラフ化 それを元にVisual Studio CodeにてPlantUmlにて概要を書き下ろし ということをして、全体像を把握していたのですが、 Csharp to PlantUMLだって!? こんな素晴らしい拡張機能を見つけてしまい…

XamarinでStatus Barを非表示にする方法

C#

画面上部に表示される時刻や電池残量などのステータスバーの非表示についてです。 Info.plistを以下のようにステータスバーを非表示にするにチェックを入れればいいのでは? と思ったのですが、ダメでした。 以下サイトを参考に直接Info.plistを編集しました…

原因不明「Xamarin.iOS は、アプリケーション マニフェストを見つけることができませんでした。」

C#

環境 Visual Studio 2019(16.0.3) Xamarin(16.0.0.521) Xamarin.iOS and Xamarin.Mac SDK(12.8.0.2) Visual Studio 2019(16.0.3)に上げてから発生するようになったと思います。 発生する現象 Xamarin.iOSでシミュレーターもしくは実機でデバッグ実行しようと…

「Virtual member call in constructor」について調べて考えたこと

C#

docs.microsoft.com 私がやりがちでありながらも解消できない警告に「Virtual member call in constructor」というのがあります。 職場でも指摘されたことがあって何が悪いのでしょうか。 以下の記事を読んでみたりしました。 c# - Virtual member call in a…

「project.assets.json' が見つかりません。NuGet パッケージの復元を実行して、このファイルを生成してください」

C#

手元ではビルドが成功するのに、 TeamCityのビルドで失敗したというお話です。 \obj\project.assets.json' が見つかりません。NuGet パッケージの復元を実行して、このファイルを生成してください。 環境 TeamCity Visual Studio 2019 原因と対策 2,3年前か…

EnumにAttributeとして情報を付与して取得する

C#

EnumにAttributeを付与して、Attributeを取得する方法です。 狙いとしては下記のようにenumにAttributeを付与しておき、付属情報を取得するというものです。 列挙型でありつつ、もう少し情報を付与したいというケースです。 private enum Fruits { [EnumLabe…

Xamarin.iOSでアプリの実行中に音楽が停止しないようにする方法

C#

Xamarinのデフォルトではアプリが起動したら、再生されている音楽が停止されてしまいます。 音楽を再生する目的のアプリを開発しているのであれば、このままで良いのですが、通常のアプリではバックグラウンドで音楽を流したままにしたいはずです。 コード F…

.NET Frameworkから.NET Coreへの移行を思索する

C#

以下のスライドを見ていて、Preview版でもう試せそうだな、やってみるかと模索した話です。 Desktop app dev strategy for .net core 3.0 from Atsushi Nakamura www.slideshare.net 実際に移行はまだ済んでません。ゴメンナサイ。 まず、MSDNを読め .NET Po…

UnityContainer+Xamarinでスクリーンショット機能を実装する(iOS)

C#

Xamarinでスクシーンショットを取る機能を追加したいときの話です。 私の場合はUnityContainerを用いて、iOS、Androidのプロジェクトで実体をUnityContainerに納めておき、Xamarinのプロジェクトからはインターフェースを指定して解決させるというものです。…

「Please select an older deployment target in your project's Info.plist or upgrade to a newer version of Xamarin.iOS」

C#

Xamarinのトラブルシューティングの話です。 Xamarin.iOS 12.6.0 does not support a deployment target of 12.2 for iOS (the maximum is 12.1). Please select an older deployment target in your project's Info.plist or upgrade to a newer version of…

HttpClientのモックとなるライブラリRichardSzalay.MockHttp

C#

単体テストコードを書くことを考えると、外部のAPIにアクセスするような処理をMockに出来ないかなーとは思ってました。 私の場合はインターフェースを切ってました。 下記のライブラリを見つけました。 github.com HttpClientクラスの代わりに処理するMockHt…

.NET CoreのWinFormsの自己完結型とパフォーマンスの検証

C#

.NET Core 3.0からWinFormsとWPFが利用できます。 これを使って検証してみたいと思います。 検証環境 まず、CLIで準備 自己完結型を出力 結果 パフォーマンス 検証環境 Visual Studio 2019 .NET Core 3.010431(preview) .NET Core 2.2 まず、CLIで準備 dotne…