チュートリアル: Visual Studio を使用して .NET クラス ライブラリを作成する
このチュートリアルでは、1 つの文字列処理メソッドを含むシンプルなクラス ライブラリを作成します。
"クラス ライブラリ" は、アプリケーションから呼び出される型とメソッドを定義します。 ライブラリのターゲットが .NET Standard 2.0 である場合は、.NET Standard 2.0 をサポートする任意の .NET 実装 (.NET Framework を含む) で呼び出すことができます。 ライブラリのターゲットが .NET 8 である場合は、.NET 8 をターゲットとする任意のアプリケーションで呼び出すことができます。 このチュートリアルでは、.NET 8 をターゲットとする方法を示します。
クラス ライブラリを作成するときに、NuGet パッケージとして、またはそれを使用するアプリケーションにバンドルされているコンポーネントとして配布できます。
前提条件
.NET デスクトップ開発ワークロードがインストールされている Visual Studio 2022 Preview。 このワークロードを選択すると、.NET 8 SDK が自動的にインストールされます。
詳細については、Visual Studio を使用した .NET SDK のインストールに関する記述を参照してください。
ソリューションを作成する
まず、クラス ライブラリ プロジェクトを配置する空のソリューションを作成します。 1 つの Visual Studio のソリューションは、1 つまたは複数のプロジェクトのコンテナーとして機能します。 さらに関連するプロジェクトを同じソリューションに追加します。
空のソリューションを作成するには:
Visual Studio を起動します。
スタート ウィンドウで、 [新しいプロジェクトの作成] を選択します。
[新しいプロジェクトの作成] ページで、検索ボックスに「ソリューション」と入力します。 [空のソリューション] テンプレートを選択して、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[ソリューション名] ボックスに「ClassLibraryProjects」と入力します。 次に、 [作成] を選択します。
クラス ライブラリ プロジェクトを作成する
"StringLibrary" という名前の新しい .NET クラス ライブラリ プロジェクトをソリューションに追加します。
ソリューション エクスプローラーでソリューションを右クリックし、[追加]>[新しいプロジェクト] の順に選択します。
[新しいプロジェクトの追加] ページで、検索ボックスに「ライブラリ」と入力します。 言語の一覧から [C#] または [Visual Basic] を選択し、次に、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。 [クラス ライブラリ] テンプレートを選んでから、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[プロジェクト名] ボックスに「StringLibrary」と入力してから、[次へ] を選択します。
[追加情報] ページで [.NET 8 (プレビュー)] を選択して、[作成] を選択します。
確実にライブラリのターゲットが正しいバージョンの .NET になっていることを確かめます。 ソリューション エクスプローラー でライブラリ プロジェクトを右クリックし、[プロパティ] を選択します。 [ターゲット フレームワーク] テキスト ボックスに、.NET 7.0 がプロジェクトのターゲットになっていることが示されています。
Visual Basic を使用している場合は、[ルート名前空間] テキスト ボックス内のテキストをクリアします。
プロジェクトごとに、そのプロジェクト名に対応する名前空間が Visual Basic によって自動的に作成されます。 このチュートリアルでは、コード ファイルで
namespace
キーワードを使用して、最上位の名前空間を定義します。Class1.cs または Class1.vb のコード ウィンドウ内のコードを次のコードに置き換えて、ファイルを保存します。 使用する言語で表示されていない場合は、ページの上部にある言語セレクターを変更します。
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } }
Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary <Extension> Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace
クラス ライブラリ
UtilityLibraries.StringLibrary
には、StartsWithUpper
という名前のメソッドが含まれています。 このメソッドによって、現在の文字列のインスタンスが大文字で始まるかどうかを示す Boolean 値が返されます。 Unicode 規格では、大文字と小文字が区別されます。 Char.IsUpper(Char) メソッドは文字が大文字の場合にtrue
を返します。StartsWithUpper
は、String クラスのメンバーであるかのように呼び出すことができる拡張メソッドとして実装されます。 C# コードのstring
の後の疑問符 (?
) は、文字列が null である可能性があることを示します。メニュー バーで、[ビルド]>[ソリューションのビルド] を選択するか、Ctrl+Shift+B キーを押して、プロジェクトがエラーなくコンパイルされることを確認します。
ソリューションにコンソール アプリを追加する
このクラス ライブラリを使用するコンソール アプリケーションを追加します。 アプリによって、ユーザーに文字列の入力が求められ、文字列が大文字で始まるかどうかが報告されます。
"ShowCase" という名前の新しい .NET コンソール アプリケーションをソリューションに追加します。
ソリューション エクスプローラーで、ソリューションを右クリックし、[追加]>[新しいプロジェクト] の順に選択します。
[新しいプロジェクトの追加] ページで、検索ボックスに「コンソール」と入力します。 言語の一覧から [C#] または [Visual Basic] を選択し、次に、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。
[コンソール アプリケーション] テンプレートを選んでから、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[プロジェクト名] ボックスに「ShowCase」と入力します。 その後、 [次へ] をクリックします。
[追加情報] ページの [フレームワーク] ボックスの [.NET 8 (プレビュー)] を選択します。 次に、 [作成] を選択します。
Program.cs または Program.vb ファイルのコード ウィンドウで、すべてのコードを次のコードに置き換えます。
using UtilityLibraries; class Program { static void Main(string[] args) { int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: {input}"); Console.WriteLine("Begins with uppercase? " + $"{(input.StartsWithUpper() ? "Yes" : "No")}"); Console.WriteLine(); row += 4; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; } } }
Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue...") Console.ReadKey() End If Console.Clear() Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}") row = 3 End Sub End Module
このコードでは、
row
変数を使って、コンソール ウィンドウに書き込まれるデータの行数のカウントを維持します。 これが 25 以上になると、コードによってコンソール ウィンドウがクリアされ、ユーザーにメッセージが表示されます。プログラムは、ユーザーに文字列の入力を要求し、 文字列が大文字で始まるかどうかを示します。 ユーザーが文字列を入力せずに Enter キーを押すと、アプリケーションが終了し、コンソール ウィンドウが閉じます。
プロジェクト参照を追加する
最初は、新しいコンソール アプリ プロジェクトにクラス ライブラリへのアクセス権はありません。 クラス ライブラリでメソッドを呼び出せるようにするには、クラス ライブラリ プロジェクトへのプロジェクト参照を作成します。
ソリューション エクスプローラーで、
ShowCase
プロジェクトの [依存関係] ノードを右クリックして、[プロジェクト参照の追加] を選びます。[参照マネージャー] ダイアログ ボックスで、[StringLibrary] プロジェクトを選び、[OK] を選びます。
アプリを実行する
ソリューション エクスプローラーで、ShowCase プロジェクトを右クリックして、コンテキスト メニューで [スタートアップ プロジェクトに設定] を選びます。
Ctrl+F5 キーを押して、デバッグなしでプログラムをコンパイルして実行します。
文字列を入力して Enter キーを押してプログラムを実行し、Enter キーを押して終了します。
その他の技術情報
次のステップ
このチュートリアルでは、クラス ライブラリを作成しました。 次のチュートリアルでは、そのクラス ライブラリを単体テストする方法について説明します。
または、自動化された単体テストをスキップし、NuGet パッケージを作成してそのライブラリを共有する方法を学習することもできます。
または、コンソール アプリを公開する方法を学習することもできます。 このチュートリアルで作成したソリューションからそのコンソール アプリを発行すると、それに付属するクラス ライブラリは .dll ファイルとなります。
このチュートリアルでは、1 つの文字列処理メソッドを含むシンプルなクラス ライブラリを作成します。
"クラス ライブラリ" は、アプリケーションから呼び出される型とメソッドを定義します。 ライブラリのターゲットが .NET Standard 2.0 である場合は、.NET Standard 2.0 をサポートする任意の .NET 実装 (.NET Framework を含む) で呼び出すことができます。 ライブラリのターゲットが .NET 7 である場合は、.NET 7 をターゲットとする任意のアプリケーションで呼び出すことができます。 このチュートリアルでは、.NET 7 をターゲットとする方法を示します。
クラス ライブラリを作成するときに、NuGet パッケージとして、またはそれを使用するアプリケーションにバンドルされているコンポーネントとして配布できます。
前提条件
.NET デスクトップ開発ワークロードがインストールされている Visual Studio 2022 バージョン 17.4。 このワークロードを選択すると、.NET 7 SDK が自動的にインストールされます。
詳細については、Visual Studio を使用した .NET SDK のインストールに関する記述を参照してください。
ソリューションを作成する
まず、クラス ライブラリ プロジェクトを配置する空のソリューションを作成します。 1 つの Visual Studio のソリューションは、1 つまたは複数のプロジェクトのコンテナーとして機能します。 さらに関連するプロジェクトを同じソリューションに追加します。
空のソリューションを作成するには:
Visual Studio を起動します。
スタート ウィンドウで、 [新しいプロジェクトの作成] を選択します。
[新しいプロジェクトの作成] ページで、検索ボックスに「ソリューション」と入力します。 [空のソリューション] テンプレートを選択して、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[ソリューション名] ボックスに「ClassLibraryProjects」と入力します。 次に、 [作成] を選択します。
クラス ライブラリ プロジェクトを作成する
"StringLibrary" という名前の新しい .NET クラス ライブラリ プロジェクトをソリューションに追加します。
ソリューション エクスプローラーでソリューションを右クリックし、[追加]>[新しいプロジェクト] の順に選択します。
[新しいプロジェクトの追加] ページで、検索ボックスに「ライブラリ」と入力します。 言語の一覧から [C#] または [Visual Basic] を選択し、次に、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。 [クラス ライブラリ] テンプレートを選んでから、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[プロジェクト名] ボックスに「StringLibrary」と入力してから、[次へ] を選択します。
[追加情報] ページで、[.NET 7 (標準期間サポート)] を選んでから、[作成] を選択します。
確実にライブラリのターゲットが正しいバージョンの .NET になっていることを確かめます。 ソリューション エクスプローラー でライブラリ プロジェクトを右クリックし、[プロパティ] を選択します。 [ターゲット フレームワーク] テキスト ボックスに、.NET 7.0 がプロジェクトのターゲットになっていることが示されています。
Visual Basic を使用している場合は、[ルート名前空間] テキスト ボックス内のテキストをクリアします。
プロジェクトごとに、そのプロジェクト名に対応する名前空間が Visual Basic によって自動的に作成されます。 このチュートリアルでは、コード ファイルで
namespace
キーワードを使用して、最上位の名前空間を定義します。Class1.cs または Class1.vb のコード ウィンドウ内のコードを次のコードに置き換えて、ファイルを保存します。 使用する言語で表示されていない場合は、ページの上部にある言語セレクターを変更します。
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } }
Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary <Extension> Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace
クラス ライブラリ
UtilityLibraries.StringLibrary
には、StartsWithUpper
という名前のメソッドが含まれています。 このメソッドによって、現在の文字列のインスタンスが大文字で始まるかどうかを示す Boolean 値が返されます。 Unicode 規格では、大文字と小文字が区別されます。 Char.IsUpper(Char) メソッドは文字が大文字の場合にtrue
を返します。StartsWithUpper
は、String クラスのメンバーであるかのように呼び出すことができる拡張メソッドとして実装されます。 C# コードのstring
の後の疑問符 (?
) は、文字列が null である可能性があることを示します。メニュー バーで、[ビルド]>[ソリューションのビルド] を選択するか、Ctrl+Shift+B キーを押して、プロジェクトがエラーなくコンパイルされることを確認します。
ソリューションにコンソール アプリを追加する
このクラス ライブラリを使用するコンソール アプリケーションを追加します。 アプリによって、ユーザーに文字列の入力が求められ、文字列が大文字で始まるかどうかが報告されます。
"ShowCase" という名前の新しい .NET コンソール アプリケーションをソリューションに追加します。
ソリューション エクスプローラーで、ソリューションを右クリックし、[追加]>[新しいプロジェクト] の順に選択します。
[新しいプロジェクトの追加] ページで、検索ボックスに「コンソール」と入力します。 言語の一覧から [C#] または [Visual Basic] を選択し、次に、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。
[コンソール アプリケーション] テンプレートを選んでから、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[プロジェクト名] ボックスに「ShowCase」と入力します。 その後、 [次へ] をクリックします。
[追加情報] ページの [フレームワーク] ボックスの [.NET 7 (標準期間サポート)] を選択します。 次に、 [作成] を選択します。
Program.cs または Program.vb ファイルのコード ウィンドウで、すべてのコードを次のコードに置き換えます。
using UtilityLibraries; class Program { static void Main(string[] args) { int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: {input}"); Console.WriteLine("Begins with uppercase? " + $"{(input.StartsWithUpper() ? "Yes" : "No")}"); Console.WriteLine(); row += 4; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; } } }
Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue...") Console.ReadKey() End If Console.Clear() Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}") row = 3 End Sub End Module
このコードでは、
row
変数を使って、コンソール ウィンドウに書き込まれるデータの行数のカウントを維持します。 これが 25 以上になると、コードによってコンソール ウィンドウがクリアされ、ユーザーにメッセージが表示されます。プログラムは、ユーザーに文字列の入力を要求し、 文字列が大文字で始まるかどうかを示します。 ユーザーが文字列を入力せずに Enter キーを押すと、アプリケーションが終了し、コンソール ウィンドウが閉じます。
プロジェクト参照を追加する
最初は、新しいコンソール アプリ プロジェクトにクラス ライブラリへのアクセス権はありません。 クラス ライブラリでメソッドを呼び出せるようにするには、クラス ライブラリ プロジェクトへのプロジェクト参照を作成します。
ソリューション エクスプローラーで、
ShowCase
プロジェクトの [依存関係] ノードを右クリックして、[プロジェクト参照の追加] を選びます。[参照マネージャー] ダイアログ ボックスで、[StringLibrary] プロジェクトを選び、[OK] を選びます。
アプリを実行する
ソリューション エクスプローラーで、ShowCase プロジェクトを右クリックして、コンテキスト メニューで [スタートアップ プロジェクトに設定] を選びます。
Ctrl+F5 キーを押して、デバッグなしでプログラムをコンパイルして実行します。
文字列を入力して Enter キーを押してプログラムを実行し、Enter キーを押して終了します。
その他の技術情報
次のステップ
このチュートリアルでは、クラス ライブラリを作成しました。 次のチュートリアルでは、そのクラス ライブラリを単体テストする方法について説明します。
または、自動化された単体テストをスキップし、NuGet パッケージを作成してそのライブラリを共有する方法を学習することもできます。
または、コンソール アプリを公開する方法を学習することもできます。 このチュートリアルで作成したソリューションからそのコンソール アプリを発行すると、それに付属するクラス ライブラリは .dll ファイルとなります。
このチュートリアルでは、1 つの文字列処理メソッドを含むシンプルなクラス ライブラリを作成します。
"クラス ライブラリ" は、アプリケーションから呼び出される型とメソッドを定義します。 ライブラリのターゲットが .NET Standard 2.0 である場合は、.NET Standard 2.0 をサポートする任意の .NET 実装 (.NET Framework を含む) で呼び出すことができます。 ライブラリのターゲットが .NET 6 である場合は、.NET 6 をターゲットとする任意のアプリケーションで呼び出すことができます。 このチュートリアルでは、.NET 6 をターゲットとする方法を示します。
クラス ライブラリを作成するときに、NuGet パッケージとして、またはそれを使用するアプリケーションにバンドルされているコンポーネントとして配布できます。
前提条件
.NET デスクトップ開発ワークロードがインストールされている Visual Studio 2022 バージョン 17.0.0 Preview。 このワークロードを選択すると、.NET 6 SDK が自動的にインストールされます。
詳細については、Visual Studio を使用した .NET SDK のインストールに関する記述を参照してください。
ソリューションを作成する
まず、クラス ライブラリ プロジェクトを配置する空のソリューションを作成します。 1 つの Visual Studio のソリューションは、1 つまたは複数のプロジェクトのコンテナーとして機能します。 さらに関連するプロジェクトを同じソリューションに追加します。
空のソリューションを作成するには:
Visual Studio を起動します。
スタート ウィンドウで、 [新しいプロジェクトの作成] を選択します。
[新しいプロジェクトの作成] ページで、検索ボックスに「ソリューション」と入力します。 [空のソリューション] テンプレートを選択して、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[ソリューション名] ボックスに「ClassLibraryProjects」と入力します。 次に、 [作成] を選択します。
クラス ライブラリ プロジェクトを作成する
"StringLibrary" という名前の新しい .NET クラス ライブラリ プロジェクトをソリューションに追加します。
ソリューション エクスプローラーでソリューションを右クリックし、[追加]>[新しいプロジェクト] の順に選択します。
[新しいプロジェクトの追加] ページで、検索ボックスに「ライブラリ」と入力します。 言語の一覧から [C#] または [Visual Basic] を選択し、次に、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。 [クラス ライブラリ] テンプレートを選んでから、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[プロジェクト名] ボックスに「StringLibrary」と入力してから、[次へ] を選択します。
[追加情報] ページで、[.NET 6 (長期的なサポート)] を選んでから、[作成] を選択します。
確実にライブラリのターゲットが正しいバージョンの .NET になっていることを確かめます。 ソリューション エクスプローラー でライブラリ プロジェクトを右クリックし、[プロパティ] を選択します。 [ターゲット フレームワーク] テキスト ボックスに、.NET 6.0 がプロジェクトのターゲットになっていることが示されています。
Visual Basic を使用している場合は、[ルート名前空間] テキスト ボックス内のテキストをクリアします。
プロジェクトごとに、そのプロジェクト名に対応する名前空間が Visual Basic によって自動的に作成されます。 このチュートリアルでは、コード ファイルで
namespace
キーワードを使用して、最上位の名前空間を定義します。Class1.cs または Class1.vb のコード ウィンドウ内のコードを次のコードに置き換えて、ファイルを保存します。 使用する言語で表示されていない場合は、ページの上部にある言語セレクターを変更します。
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } }
Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary <Extension> Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace
クラス ライブラリ
UtilityLibraries.StringLibrary
には、StartsWithUpper
という名前のメソッドが含まれています。 このメソッドによって、現在の文字列のインスタンスが大文字で始まるかどうかを示す Boolean 値が返されます。 Unicode 規格では、大文字と小文字が区別されます。 Char.IsUpper(Char) メソッドは文字が大文字の場合にtrue
を返します。StartsWithUpper
は、String クラスのメンバーであるかのように呼び出すことができる拡張メソッドとして実装されます。 C# コードのstring
の後の疑問符 (?
) は、文字列が null である可能性があることを示します。メニュー バーで、[ビルド]>[ソリューションのビルド] を選択するか、Ctrl+Shift+B キーを押して、プロジェクトがエラーなくコンパイルされることを確認します。
ソリューションにコンソール アプリを追加する
このクラス ライブラリを使用するコンソール アプリケーションを追加します。 アプリによって、ユーザーに文字列の入力が求められ、文字列が大文字で始まるかどうかが報告されます。
"ShowCase" という名前の新しい .NET コンソール アプリケーションをソリューションに追加します。
ソリューション エクスプローラーで、ソリューションを右クリックし、[追加]>[新しいプロジェクト] の順に選択します。
[新しいプロジェクトの追加] ページで、検索ボックスに「コンソール」と入力します。 言語の一覧から [C#] または [Visual Basic] を選択し、次に、プラットフォームの一覧から [すべてのプラットフォーム] を選択します。
[コンソール アプリケーション] テンプレートを選んでから、[次へ] を選択します。
[新しいプロジェクトの構成] ページで、[プロジェクト名] ボックスに「ShowCase」と入力します。 その後、 [次へ] をクリックします。
[追加情報] ページの [フレームワーク] ボックスの [.NET 6 (長期的なサポート)] を選択します。 次に、 [作成] を選択します。
Program.cs または Program.vb ファイルのコード ウィンドウで、すべてのコードを次のコードに置き換えます。
using UtilityLibraries; class Program { static void Main(string[] args) { int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: {input}"); Console.WriteLine("Begins with uppercase? " + $"{(input.StartsWithUpper() ? "Yes" : "No")}"); Console.WriteLine(); row += 4; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; } } }
Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue...") Console.ReadKey() End If Console.Clear() Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}") row = 3 End Sub End Module
このコードでは、
row
変数を使って、コンソール ウィンドウに書き込まれるデータの行数のカウントを維持します。 これが 25 以上になると、コードによってコンソール ウィンドウがクリアされ、ユーザーにメッセージが表示されます。プログラムは、ユーザーに文字列の入力を要求し、 文字列が大文字で始まるかどうかを示します。 ユーザーが文字列を入力せずに Enter キーを押すと、アプリケーションが終了し、コンソール ウィンドウが閉じます。
プロジェクト参照を追加する
最初は、新しいコンソール アプリ プロジェクトにクラス ライブラリへのアクセス権はありません。 クラス ライブラリでメソッドを呼び出せるようにするには、クラス ライブラリ プロジェクトへのプロジェクト参照を作成します。
ソリューション エクスプローラーで、
ShowCase
プロジェクトの [依存関係] ノードを右クリックして、[プロジェクト参照の追加] を選びます。[参照マネージャー] ダイアログ ボックスで、[StringLibrary] プロジェクトを選び、[OK] を選びます。
アプリを実行する
ソリューション エクスプローラーで、ShowCase プロジェクトを右クリックして、コンテキスト メニューで [スタートアップ プロジェクトに設定] を選びます。
Ctrl+F5 キーを押して、デバッグなしでプログラムをコンパイルして実行します。
文字列を入力して Enter キーを押してプログラムを実行し、Enter キーを押して終了します。
その他の技術情報
次のステップ
このチュートリアルでは、クラス ライブラリを作成しました。 次のチュートリアルでは、そのクラス ライブラリを単体テストする方法について説明します。
または、自動化された単体テストをスキップし、NuGet パッケージを作成してそのライブラリを共有する方法を学習することもできます。
または、コンソール アプリを公開する方法を学習することもできます。 このチュートリアルで作成したソリューションからそのコンソール アプリを発行すると、それに付属するクラス ライブラリは .dll ファイルとなります。
.NET