คำถามติดแท็ก c#-8.0

สำหรับปัญหาที่เกี่ยวข้องกับการพัฒนาด้วยภาษา C # เวอร์ชัน 8.0 เวอร์ชันนี้เพิ่มประเภทการอ้างอิงที่เป็นโมฆะวิธีการอินเตอร์เฟสเริ่มต้นการแจงนับ async และคุณสมบัติและการปรับปรุงอื่น ๆ

3
ประเภทการอ้างอิงเป็นโมฆะใน C # 8 เมื่อใช้คลาส DTO กับ ORM
ฉันเปิดใช้งานคุณลักษณะนี้ในโครงการที่มีคลาส data data object (DTO) ตามที่ระบุด้านล่าง: public class Connection { public string ServiceUrl { get; set; } public string? UserName { get; set; } public string? Password { get; set; } //... others } แต่ฉันได้รับข้อผิดพลาด: CS8618: คุณสมบัติที่ไม่สามารถลบล้างได้ 'ServiceUrl' ไม่ได้ถูกกำหนดค่าเริ่มต้น พิจารณาประกาศคุณสมบัติเป็นโมฆะ นี่คือคลาส DTO ดังนั้นฉันไม่ได้เริ่มต้นคุณสมบัติ สิ่งนี้จะเป็นความรับผิดชอบของรหัสในการเริ่มต้นคลาสเพื่อให้แน่ใจว่าคุณสมบัติไม่เป็นโมฆะ ตัวอย่างเช่นผู้โทรสามารถทำได้: var connection = new Connection …

2
C # ไม่สามารถทำให้ `notnull 'ประเภทเป็นโมฆะ
ฉันพยายามสร้างประเภทที่คล้ายกับ Rust's Resultหรือ Haskell Eitherและฉันก็เข้าใจได้: 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 result) => new Result<TResult, TError>(result); public static …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.