หน้าแรก
หน้าแรก
Json.NET รองรับการแปลง JSON เป็น XML และในทางกลับกันโดยใช้ XmlNodeConverter องค์ประกอบ คุณลักษณะ ข้อความ ความคิดเห็น ข้อมูลอักขระ คำแนะนำในการประมวลผล เนมสเปซ และการประกาศ XML ทั้งหมดจะถูกเก็บรักษาไว้เมื่อทำการแปลงระหว่างทั้งสอง SerializeXmlNode JsonConvert มีวิธีช่วยสองวิธีในการแปลงระหว่าง JSON แ
กระบวนการฉีด (แปลง) วัตถุที่เป็นคู่ (ขึ้นอยู่กับ) ลงในวัตถุที่แยกออก (อิสระ) เรียกว่าการพึ่งพาการฉีด ประเภทของการฉีดอ้างอิง DI มีสี่ประเภท: 1.ฉีดคอนสตรัคเตอร์ 2.เซ็ตเตอร์ฉีด 3.การฉีดตามอินเทอร์เฟซ 4.เครื่องระบุตำแหน่งบริการ คอนสตรัคเตอร์ฉีด ตัวสร้างใช้เพื่อเชื่อมต่อพารามิเตอร์ที่แสดงผ่านผู้รับ
ในการคัดลอกไฟล์ C# มีวิธีการ ไฟล์ คัดลอก ไฟล์. การคัดลอกมี 2 โอเวอร์โหลด คัดลอก (สตริง สตริง) - คัดลอกไฟล์ที่มีอยู่ไปยังไฟล์ใหม่ ไม่อนุญาตให้เขียนทับไฟล์ที่มีชื่อเดียวกัน คัดลอก (สตริง สตริง บูลีน) คัดลอกไฟล์ที่มีอยู่ไปยังไฟล์ใหม่ อนุญาตให้เขียนทับไฟล์ที่มีชื่อเดียวกันได้ Directory.GetFiles ส่ง
FluentValidation เป็นไลบรารี .NET สำหรับสร้างกฎการตรวจสอบที่พิมพ์อย่างเข้มงวด ใช้อินเทอร์เฟซที่คล่องแคล่วและนิพจน์แลมบ์ดาสำหรับการสร้างกฎการตรวจสอบ ช่วยล้างรหัสโดเมนของคุณและทำให้มีความสอดคล้องกันมากขึ้น รวมทั้งให้ที่เดียวในการค้นหาตรรกะการตรวจสอบความถูกต้อง เพื่อที่จะใช้การตรวจสอบอย่างคล่องแคล่ว เ
ในการระบุกฎการตรวจสอบสำหรับคุณสมบัติเฉพาะ ให้เรียกใช้เมธอด RuleFor โดยส่งนิพจน์แลมบ์ดาที่ระบุคุณสมบัติที่คุณต้องการตรวจสอบ p.DateOfBirth) ในการเรียกใช้เครื่องมือตรวจสอบ ให้สร้างอินสแตนซ์อ็อบเจ็กต์เครื่องมือตรวจสอบและเรียกใช้เมธอด Validate ส่งผ่านอ็อบเจ็กต์เพื่อตรวจสอบ ValidationResult results =val
ตัวตรวจสอบความยาวสูงสุด ตรวจสอบให้แน่ใจว่าความยาวของคุณสมบัติสตริงเฉพาะไม่เกินค่าที่ระบุ ใช้ได้เฉพาะกับคุณสมบัติของสตริงเท่านั้น args รูปแบบสตริง: {PropertyName} =ชื่อของคุณสมบัติที่กำลังตรวจสอบ {MaxLength} =ความยาวสูงสุด {TotalLength} =จำนวนอักขระที่ป้อน {PropertyValue} =มูลค่าปัจจุบันของทรั
IEnumerable เป็นอินเทอร์เฟซที่กำหนดวิธีการเดียว GetEnumerator() ที่ส่งคืนอินเทอร์เฟซ IEnumerator เป็นอินเทอร์เฟซพื้นฐานสำหรับคอลเลกชันที่ไม่ใช่ทั่วไปทั้งหมดที่สามารถระบุได้ ใช้งานได้สำหรับการเข้าถึงแบบอ่านอย่างเดียวในคอลเล็กชันที่นำ IEnumerable ไปใช้กับคำสั่ง foreach คลาสรายการแสดงถึงรายการของอ็อบ
ในการรับไดเร็กทอรี C# ให้เมธอด Directory.GetDirectories เมธอด Directory.GetDirectories จะคืนค่าชื่อของไดเร็กทอรีย่อย (รวมถึงพาธ) ที่ตรงกับรูปแบบการค้นหาที่ระบุในไดเร็กทอรีที่ระบุ และอาจค้นหาไดเร็กทอรีย่อย ในตัวอย่างด้านล่าง * คือการจับคู่อักขระศูนย์หรือมากกว่าในตำแหน่งนั้น SearchOption TopDirectory
ในโค้ด C# แบบซิงโครนัส ข้อยกเว้นจะแพร่กระจายไปยังสแต็กการโทรจนกว่าจะถึงบล็อก catch ที่เหมาะสมซึ่งสามารถจัดการกับข้อยกเว้นได้ อย่างไรก็ตาม การจัดการข้อยกเว้นในวิธีอะซิงโครนัสนั้นไม่ตรงไปตรงมา เมธอดแบบอะซิงโครนัสใน C# สามารถมีค่าส่งคืนได้สามประเภท:โมฆะ งาน และงาน เมื่อมีข้อยกเว้นเกิดขึ้นในเมธอด async
ในการรับไดเร็กทอรี C# ให้เมธอด Directory.GetDirectories Directory.GetDirectories ส่งคืนชื่อของไดเรกทอรีย่อย (รวมถึงเส้นทาง) ที่ตรงกับรูปแบบการค้นหาที่ระบุในไดเรกทอรีที่ระบุ และค้นหาไดเรกทอรีย่อยหรือไม่ก็ได้ ในการรับไฟล์ C# มีเมธอด Directory.GetFiles Directory.GetFiles ส่งคืนชื่อไฟล์ทั้งหมด (รวมถึ
ใช้เพื่อนำเข้าเนมสเปซ (หรือสร้างนามแฝงสำหรับเนมสเปซหรือประเภท) สิ่งเหล่านี้จะไปที่ด้านบนสุดของไฟล์ ก่อนการประกาศใดๆ using System; using System.IO; using WinForms = global::System.Windows.Forms; using WinButton = WinForms::Button; คำสั่ง use ช่วยให้แน่ใจว่า Dispose() ถูกเรียกแม้ว่าข้อยกเว้นจะเกิ
รูปแบบอ็อบเจกต์ null ช่วยให้เราเขียนโค้ดที่สะอาดเพื่อหลีกเลี่ยงการตรวจสอบค่า null ที่ทำได้ การใช้รูปแบบอ็อบเจกต์ null ผู้เรียกไม่จำเป็นต้องสนใจว่าพวกเขามีอ็อบเจกต์ null หรืออ็อบเจกต์จริง เป็นไปไม่ได้ที่จะใช้รูปแบบอ็อบเจกต์ null ในทุกสถานการณ์ บางครั้ง มีแนวโน้มที่จะส่งคืนการอ้างอิงที่เป็นโมฆะและทำกา
เราควรใช้รูปแบบการออกแบบ IDisposable (หรือ Dispose Pattern) เมื่อเราต้องกำจัดวัตถุที่ไม่มีการจัดการ สำหรับการนำรูปแบบการออกแบบ IDisposable ไปใช้ คลาสที่เกี่ยวข้องกับอ็อบเจ็กต์ที่ไม่มีการจัดการโดยตรงหรือโดยอ้อม ควรใช้อินเทอร์เฟซ IDisposable และใช้เมธอด Dispose ที่ประกาศไว้ภายในอินเทอร์เฟซ IDisposabl
ในการรับไฟล์ C# มีวิธีการ Directory.GetFiles Directory.GetFiles ส่งคืนชื่อไฟล์ทั้งหมด (รวมถึงเส้นทางของไฟล์) ที่ตรงกับรูปแบบการค้นหาที่ระบุ และค้นหาไดเรกทอรีย่อยด้วยหรือไม่ก็ได้ ในตัวอย่างด้านล่าง * จะจับคู่อักขระ 0 ตัวหรือมากกว่าในตำแหน่งนั้น SearchOption TopDirectory เท่านั้น ค้นหาเฉพาะไดเร็กท
คีย์เวิร์ดปิดผนึกหมายความว่าคลาสไม่สามารถสืบทอดได้ การประกาศตัวสร้างเป็นส่วนตัวหมายความว่าไม่สามารถสร้างอินสแตนซ์ของคลาสได้ คุณสามารถมีคลาสฐานที่มีคอนสตรัคเตอร์ส่วนตัว แต่ยังคงสืบทอดจากคลาสฐานนั้น กำหนดคอนสตรัคเตอร์สาธารณะบางตัว และสร้างอินสแตนซ์คลาสฐานนั้นอย่างมีประสิทธิภาพ คอนสตรัคเตอร์ไม่ได้รับ
ประเภทที่ได้รับจะต้องใช้แทนประเภทพื้นฐานได้อย่างสมบูรณ์ คำจำกัดความ: เราควรจะสามารถปฏิบัติต่อชั้นเรียนลูกราวกับว่าเป็นชั้นเรียนหลัก โดยพื้นฐานแล้ว หมายความว่าคลาสที่ได้รับทั้งหมดควรคงฟังก์ชันของคลาสพาเรนต์ไว้ และไม่สามารถแทนที่ฟังก์ชันใดๆ ที่พาเรนต์มีให้ ก่อนเปลี่ยนตัว Liskov public class Ellipse {
รูปแบบ Facade เป็นโครงสร้างที่เรียบง่ายวางทับโครงสร้างที่ซับซ้อนมากขึ้น ผู้เข้าร่วม ระบบย่อยคือคลาสหรืออ็อบเจ็กต์ใดๆ ที่ใช้ฟังก์ชันการทำงาน แต่ Facade สามารถ ห่อ หรือ ครอบคลุม ได้เพื่อทำให้อินเทอร์เฟซง่ายขึ้น Facade เป็นชั้นของสิ่งที่เป็นนามธรรมเหนือระบบย่อย และรู้ว่าระบบย่อยใดที่จะมอบหมายงานที่เห
ลูกค้าไม่ควรถูกบังคับให้พึ่งพาอินเทอร์เฟซที่พวกเขาไม่ได้ใช้ หลักการแยกส่วนต่อประสานระบุว่าลูกค้าไม่ควรถูกบังคับให้ใช้อินเทอร์เฟซที่พวกเขาไม่ได้ใช้ แทนที่จะใช้อินเทอร์เฟซแบบอ้วนเดียว อินเทอร์เฟซขนาดเล็กจำนวนมากเป็นที่ต้องการตามกลุ่มของวิธีการ โดยแต่ละอินเทอร์เฟซจะให้บริการโมดูลย่อยเพียงโมดูลเดียว ก
รูปแบบ Proxy ให้วัตถุตัวแทนหรือตัวแทนเพื่อควบคุมการเข้าถึงวัตถุอื่นที่แตกต่างกัน สามารถใช้วัตถุพร็อกซีในลักษณะเดียวกับวัตถุที่มี ผู้เข้าร่วม Subject กำหนดอินเทอร์เฟซทั่วไปสำหรับ RealSubject และ Proxy เพื่อให้สามารถใช้ Proxy ได้ทุกที่ที่ RealSubject คาดไว้ RealSubject กำหนดวัตถุที่เป็นรูปธรรมซึ่ง
โมดูลระดับสูงไม่ควรขึ้นอยู่กับโมดูลระดับต่ำ ทั้งสองควรขึ้นอยู่กับนามธรรม นามธรรมไม่ควรขึ้นอยู่กับรายละเอียด รายละเอียดควรขึ้นอยู่กับนามธรรม หลักการนี้เกี่ยวข้องกับการลดการพึ่งพาในโมดูลโค้ดเป็นหลัก ตัวอย่าง โค้ดก่อนการผกผันของการพึ่งพา using System; namespace SolidPrinciples.Dependency.Invertion.Be