Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 40372|Odpowiedź: 0

[Źródło] Specyfikacja języka publicznego .NET (CLS)

[Skopiuj link]
Opublikowano 11.01.2021 o 11:43:49 | | | |
.NET to osobny język. Oznacza to, że jako programista możesz tworzyć w jednym z wielu języków .NET (np. C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL oraz Windows PowerShell). Uzyskaj dostęp do typów i członków bibliotek opracowanych dla .NET bez konieczności znajomości języka, w którym zostały pierwotnie napisane, ani przestrzegania jakichkolwiek konwencji oryginalnego języka. Jeśli jesteś programistą komponentów, do swoich komponentów można uzyskać dostęp w dowolnej aplikacji .NET, niezależnie od języka.

Jeśli Twój komponent spełnia specyfikację Common Language, gwarantuje się, że jest zgodny z CLS i dostępny poprzez kod w asemblerze napisanym w dowolnym języku programowania obsługującym CLS. Możesz sprawdzić, czy Twoje komponenty spełniają standardy Common Language podczas kompilacji, stosując funkcję CLSCompliantAttribute do kodu źródłowego.

Specyfikacja Common Language omawia każdą regułę zgodności z CLS, ponieważ odnosi się ona do konsumentów (programistów korzystających z komponentów zgodnych z CLS), frameworków (programistów używających kompilatorów językowych do tworzenia bibliotek zgodnych z CLS) oraz extensorów (programistów tworzących narzędzia takie jak kompilatory języka czy analizatory kodu tworzące komponenty zgodne z CLS).
Program nie sprawdza, czy kod domyślnie spełnia wymagania CLS podczas kompilacji, ale jeśli Twój program może być publiczny (codeshare, wydanie Nuget itp.), zaleca się użycie [assembly: CLSCompliant(true)]Wskaż, że Twoja biblioteka jest zgodna z CLS

Zasoby:

Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.

Mówiąc prosto:

Możesz jeść pilaf rękami, możesz jeść łyżką, nie ma problemu, jednak jedzenie rękami nie spełnia standardów higienicznych ani norm. CLS jest specyfikacją protokołu, chociaż asembler nie zgłasza błędów i nie wpływa na normalne użytkowanie, jednak niektóre typy i parametry kodu, który tworzysz, nie spełniają standardów.

Użyj CLS

W pliku AssemblyInfo.cs dodaj następujący kod:



Będzie to stosowane na całym zgromadzeniu.

Jeśli nie ustawisz tej funkcji, możesz otrzymać następujący błąd podczas dodawania tej funkcji do obiektu:

Ponieważ zespoły nie posiadają funkcji CLSCompliant, "A.Test" nie wymaga funkcji CLSCompliant

Kod testowy wygląda następująco, a następnie rekompiluj:

Typ "A.Testu" nie spełnia wymagań CLS



Możesz zobaczyć dwa ostrzeżenia, kliknąć na element ostrzeżenia, aby przejść do konkretnego numeru linii, co oznacza, że nasz kod nie spełnia specyfikacji CLS, a następnie możesz to samodzielnie poprawić.

Jeśli linia nie spełnia specyfikacji CLS, ale modyfikacja wpłynie na prawidłowe działanie programu, a nie chcesz, aby VS cię ostrzegał, możesz dodać następujące cechy do pola lub klasy:



Dzięki temu ostrzeżenie nie zostanie wydane.

(Koniec)





Poprzedni:Optymalizacja zapytań w ramach Entity Framework WITH(NOLOCK)
Następny:.NET/C#, aby uzyskać aktualny stan aplikacji (CPU, wątek, GC)
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com