Podczas gdy studiowałem delegata, który jest w rzeczywistości klasą abstrakcyjną Delegate.cs, zobaczyłem następującą metodę, której nie rozumiem Dlaczego wartość zwracana wykorzystuje, ?mimo że jest to już typ referencyjny ( klasa ) ?[]? znaczenie w parametrze Czy możesz wytłumaczyć? public static Delegate? Combine(params Delegate?[]? delegates) { if (delegates == null || …
Mam DTO, który jest wypełniany przez czytanie z tabeli DynamoDB. Powiedzmy, że obecnie wygląda to tak: public class Item { public string Id { get; set; } // PK so technically cannot be null public string Name { get; set; } // validation to prevent nulls but this doesn't stop …
Włączam typy referencyjne Nullable C # 8.0 w projekcie .NET Core 3.0. Projekt korzysta z Entity Framework Core 3.0, aby uzyskać dostęp do bazy danych. Poniżej przedstawiono model danych, którego tytuł nie powinien mieć wartości null. public class Vehicle { public int Id { get; private set; } public string …
C # 8.0 wprowadza typy odwołania zerowalne. Oto prosta klasa z właściwością zerowalną: public class Foo { public String? Bar { get; set; } } Czy istnieje sposób na sprawdzenie, czy właściwość klasy używa typu odwołania zerowego poprzez odbicie?
Rozważ następujący kod: #nullable enable class Foo { public string? Name { get; set; } public bool HasName => Name != null; public void NameToUpperCase() { if (HasName) { Name = Name.ToUpper(); } } } Na Name = Name.ToUpper () pojawia się ostrzeżenie, że Name to możliwe odwołanie zerowe, co …
W C # 8.0 możemy mieć typy zerowalne. Dokumenty stwierdzają, że istnieją 4 rodzaje zerowalności. Pierwsze 3 są dość jasne, ale nie rozumiem sensu „nieznane”. Dokumenty mówią, że używa się go z rodzajami, ale kiedy próbuję wywołać metodę na nieograniczonej zmiennej typu T w rodzajach, to po prostu ostrzega, jakby …
Wydaje mi się, że tak naprawdę nie ma gwarancji, że zmienna nie dopuszczająca wartości zerowej nigdy nie będzie miała wartości null. Wyobraź sobie, że mam klasę, która ma jedną właściwość, która nie ma wartości zerowej: public class Foo { public Foo(string test) { Test = test; } public string Test …
Chciałem przetestować nową funkcję zerowania typów odwołań w C # 8.0. Rozpocząłem nowy projekt ukierunkowany na .NET Core 3.0, włączyłem typy zerowalne w .csprojpliku i zacząłem kodować. Utworzyłem prostą listę, która bierze a string[]i zwraca stringw tej tablicy, która jest równa abc. Teraz, ponieważ nie jestem pewien, czy abcrzeczywiście istnieje …
Po przeczytaniu tego pytania na temat HNQ, zacząłem czytać o Nullable Reference Type w C # 8 i przeprowadziłem kilka eksperymentów. Mam świadomość, że 9 razy na 10, a nawet częściej, gdy ktoś mówi: „Znalazłem błąd kompilatora!” dzieje się tak zgodnie z projektem i własnym nieporozumieniem. A ponieważ zacząłem przyglądać …
Aktywowałem tę funkcję w projekcie posiadającym klasy obiektów przesyłania danych (DTO), jak podano poniżej: public class Connection { public string ServiceUrl { get; set; } public string? UserName { get; set; } public string? Password { get; set; } //... others } Ale dostaję błąd: CS8618: Właściwość niezerowa „ServiceUrl” jest …
Próbuję stworzyć typ podobny do Rust'a Resultlub Haskella Eitheri mam tak daleko: public struct Result<TResult, TError> where TResult : notnull where TError : notnull { private readonly OneOf<TResult, TError> Value; public Result(TResult result) => Value = result; public Result(TError error) => Value = error; public static implicit operator Result<TResult, TError>(TResult …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.