C#
VisualStudio
VisualStudio2017
C#7

dllを使うおみくじアプリを作ってみた

手順をもう少し足してサンプル化する予定(今週中?)

はじめに

DLLを用いたアプリケーションの作り方を覚えるため、おみくじアプリをもとに作ることにしてみた。

プログラムの概要

  • おみくじアプリはコンソールアプリとして作成する。
  • コンソールアプリの実行名は「omikuji」とする。
  • おみくじの中身は「大吉、中吉、有吉、吉、凶、大凶」とする。
  • DLLはランダマイザー処理(乱数発生器)を行うものとする

手順

(1) 新しいプロジェクトを作成。

(2)VisualC#のクラスライブラリをテンプレートに選択。
Screenshot_NoName_2017-11-27_0-12-26_No-00.png

(3)ソリューションを[右クリック]->[追加]->[新しいプロジェクト]を選択。

(4) VisualC#のコンソールアプリをテンプレートに選択し、追加。
Screenshot_NoName_2017-11-27_0-16-55_No-00.png

(5) omikujiの参照項目にて、Randomizerを追加。
Screenshot_NoName_2017-11-27_0-51-14_No-00.png

(6) [omikuji]の[program.cs]におみくじの処理コードを記載

omikuji-program.cs
        static void Main(string[] args)
        {
            Randomizer.Randomizer RDN = new Randomizer();
            int Number = RDN.GetDiceNumber(6);

            switch (NUmber)
            {
                case 0:
                    Console.WriteLine("大吉");
                    break;
                case 1:
                    Console.WriteLine("中吉");
                    break;
                case 2:
                    Console.WriteLine("有吉");
                    break;
                case 3:
                    Console.WriteLine("吉");
                    break;
                case 4:
                    Console.WriteLine("凶");
                    break;
                case 5:
                    Console.WriteLine("大凶");
                    break;
                default:
                    Console.WriteLine("吉");
                    break;
            }

        }
Randomizer-Class1.cs
        private int resultNumber;
        private string specifiedNumber;

        public int GetDiceNumber(string specifiedNumber)
        {
            System.Random Randomizer = new System.Random();
            resultNumber = Randomizer.Next(0, specifiedNumber);
            return resultNumber;
        }

(7) 「omikuji」をスタートアッププロジェクトにし、「デバッグ」を実施。
おみくじとして問題なく動作することを確認できたら完成。

デバッグ時にエラーが発生

クラスライブラリ単体ではデバッグできず、下のようなエラーが表示され、デバッグ処理は実行されない。
Screenshot_NoName_2017-11-27_0-22-20_No-00.png

解決策

なんらかの出力を実行できるアプリをテンプレートとして、プロジェクトを追加し、[スタートアッププロジェクト]に設定すること。忘れないように。