Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, tek bir dize işleme yöntemi içeren basit bir sınıf kitaplığı oluşturacaksınız.
Sınıf kitaplığı, bir uygulama tarafından çağrılan türleri ve yöntemleri tanımlar. Kitaplık .NET Standard 2.0'ı hedeflerse, .NET Standard 2.0'ı destekleyen herhangi bir .NET uygulaması (.NET Framework dahil) tarafından çağrılabilir. Kitaplık .NET 8'i hedeflerse, .NET 8'i hedefleyen herhangi bir uygulama tarafından çağrılabilir. Bu öğreticide .NET 8'i hedefleme gösterilmektedir.
Sınıf kitaplığı oluşturduğunuzda, bunu NuGet paketi olarak veya onu kullanan uygulamayla birlikte paketlenmiş bir bileşen olarak dağıtabilirsiniz.
Önkoşullar
Visual Studio 2022 üzerinde kurulu .NET masaüstü geliştirme iş yükü. Bu iş yükünü seçtiğinizde .NET 8 SDK'sı otomatik olarak yüklenir.
Daha fazla bilgi için bkz. Visual Studio ile .NET SDK'sını yükleme.
Çözüm oluşturma
Sınıf kitaplığı projesini yerleştirmek için boş bir çözüm oluşturarak başlayın. Visual Studio çözümü, bir veya daha fazla proje için kapsayıcı görevi görür. İlgili projeleri aynı çözüme ekleyeceksiniz.
Boş çözümü oluşturmak için:
Visual Studio'yu başlatın.
Başlangıç penceresinde Yeni proje oluştur'u seçin.
Yeni proje oluştur sayfasında, arama kutusuna çözüm girin. Boş Çözüm şablonunu ve ardından İleri'yi seçin.
Yeni projenizi yapılandırın sayfasında Çözüm adı kutusuna ClassLibraryProjects yazın. Ardından Oluştur'u seçin.
Sınıf kitaplığı projesi oluşturma
Çözüme "StringLibrary" adlı yeni bir .NET sınıf kitaplığı projesi ekleyin.
Çözüm Gezgini'nde çözüme sağ tıklayın veYeni Proje Ekle'yi> seçin.
Yeni proje ekle sayfasında, arama kutusuna kitaplık yazın. Dil listesinden C# veya Visual Basic'i seçin ve ardından Platform listesinden Tüm platformlar'ı seçin. Sınıf Kitaplığı şablonunu ve ardından İleri'yi seçin.
Yeni projenizi yapılandırın sayfasında, Proje adı kutusuna StringLibrary yazın ve İleri'yi seçin.
Ek bilgiler sayfasında .NET 8'i ve ardından Oluştur'u seçin.
Kitaplığın doğru .NET sürümünü hedeflediğinden emin olun. Çözüm Gezgini'nde kitaplık projesine sağ tıklayın ve özellikler'i seçin. Hedef Çerçeve metin kutusu, projenin .NET 8.0'i hedeflediğini gösterir.
Visual Basic kullanıyorsanız Kök ad alanı metin kutusundaki metni temizleyin.
Visual Basic, her proje için otomatik olarak proje adına karşılık gelen bir ad alanı oluşturur. Bu öğreticide, kod dosyasındaki anahtar sözcüğünü
namespacekullanarak bir üst düzey ad alanı tanımlarsınız.Class1.cs veya Class1.vb için kod penceresindeki kodu aşağıdaki kodla değiştirin ve dosyayı kaydedin. Kullanmak istediğiniz dil gösterilmiyorsa, sayfanın üst kısmındaki dil seçiciyi değiştirin.
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }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 Namespacesınıf kitaplığı,
UtilityLibraries.StringLibraryadlıStartsWithUpperbir yöntem içerir. Bu yöntem, geçerli dize örneğinin büyük harf karakterle başlayıp başlamayacağını gösteren bir değer döndürür Boolean . Unicode standardı, büyük harf karakterlerini küçük harf karakterlerinden ayırır. Bir Char.IsUpper(Char) karakter büyükse yöntemi döndürürtrue.StartsWithUpperbir uzantı yöntemi olarak uygulanır, böylece sınıfın String bir üyesiymiş gibi çağırabilirsiniz. C# kodunda sonra gelen soru işareti (?),stringdizenin null olabileceğini gösterir.Menü çubuğundaDerleme Çözümü> seçin veya projenin hatasız derlendiğini doğrulamak için Ctrl+ ShiftB+ basın.
Çözüme konsol uygulaması ekleme
Sınıf kitaplığını kullanan bir konsol uygulaması ekleyin. Uygulama, kullanıcıdan bir dize girmesini ister ve dizenin büyük harf karakterle başlayıp başlamadığını bildirir.
Çözüme "ShowCase" adlı yeni bir .NET konsol uygulaması ekleyin.
Çözüm Gezgini'nde çözüme sağ tıklayın veYeni proje ekle'yi> seçin.
Yeni proje ekle sayfasında, arama kutusuna konsol yazın. Dil listesinden C# veya Visual Basic'i seçin ve ardından Platform listesinden Tüm platformlar'ı seçin.
Konsol Uygulaması şablonunu ve ardından İleri'yi seçin.
Yeni projenizi yapılandırın sayfasında Proje adı kutusuna ShowCase yazın. Ardından İleri'yi seçin.
Ek bilgiler sayfasında, Çerçeve kutusunda .NET 8'i seçin. Ardından Oluştur'u seçin.
Program.cs veya Program.vb dosyasının kod penceresinde, kodun tümünü aşağıdaki kodla değiştirin.
using System; 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} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } 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 ModuleKod, konsol penceresine
rowyazılan veri satırlarının sayısını korumak için değişkenini kullanır. 25'ten büyük veya 25'e eşit olduğunda kod konsol penceresini temizler ve kullanıcıya bir ileti görüntüler.Program, kullanıcıdan bir dize girmesini ister. Dizenin büyük harf karakterle başlayıp başlamadığını gösterir. Kullanıcı dize girmeden Enter tuşuna basarsa uygulama sona erer ve konsol penceresi kapanır.
Proje başvurusu ekleme
Başlangıçta, yeni konsol uygulaması projesinin sınıf kitaplığına erişimi yoktur. Sınıf kitaplığında yöntemleri çağırmasına izin vermek için, sınıf kitaplığı projesine bir proje başvurusu oluşturun.
Çözüm Gezgini'nde projenin
ShowCasedüğümüne sağ tıklayın ve Proje Başvurusu Ekle'yi seçin.
Başvuru Yöneticisi iletişim kutusunda StringLibrary projesini ve ardından Tamam'ı seçin.
Uygulamayı çalıştırma
Çözüm Gezgini'ndeShowCase projesine sağ tıklayın ve bağlam menüsünden Başlangıç Projesi Olarak Ayarla'yı seçin.
Programı hata ayıklamadan derlemek ve çalıştırmak için Ctrl+F5 tuşlarına basın.
Dizeleri girip Enter tuşuna basarak programı deneyin, ardından çıkmak için Enter tuşuna basın.
Ek kaynaklar
Sonraki Adımlar
Bu öğreticide bir sınıf kitaplığı oluşturdunuz. Sonraki öğreticide sınıf kitaplığını birim testi yapmayı öğreneceksiniz.
Alternatif olarak, otomatik birim testini atlayabilir ve NuGet paketi oluşturarak kitaplığı paylaşmayı öğrenebilirsiniz:
Ya da bir konsol uygulamasını yayımlamayı öğrenin. Konsol uygulamasını bu öğreticide oluşturduğunuz çözümden yayımlarsanız, sınıf kitaplığı bunu bir.dll dosyası olarak alır.