บ้าน พัฒนาการ แอตทริบิวต์แบบมีเงื่อนไขใน c คืออะไร - คำจำกัดความจาก techopedia

แอตทริบิวต์แบบมีเงื่อนไขใน c คืออะไร - คำจำกัดความจาก techopedia

สารบัญ:

Anonim

คำจำกัดความ - แอตทริบิวต์ของเงื่อนไขหมายถึงอะไร

แอตทริบิวต์แบบมีเงื่อนไขเป็นแท็กที่ใช้เพื่อทำเครื่องหมายวิธีหรือคลาสที่การดำเนินการขึ้นอยู่กับคำจำกัดความของตัวบ่งชี้การประมวลผลล่วงหน้า


แอตทริบิวต์แบบมีเงื่อนไขระบุเงื่อนไขในการระบุการคอมไพล์แบบมีเงื่อนไขโดยวิธีการนั้นจะถูกเลือกโดยใช้เกณฑ์ความหมายของสัญลักษณ์ มันสั่งให้คอมไพเลอร์รวบรวม (เป็นภาษา Microsoft ระดับกลาง) หรือไม่รวบรวมบล็อกของรหัสเฉพาะตามเงื่อนไข - ไม่ว่าจะมีการกำหนดสัญลักษณ์การรวบรวมเงื่อนไขที่เฉพาะเจาะจงหรือไม่ หากไม่ได้กำหนดสัญลักษณ์ที่เฉพาะเจาะจงในทันทีที่มีการเรียกใช้การเรียกไปยังเมธอดหรือคลาสนั้นจะถูกละเว้นโดยคอมไพเลอร์

Techopedia อธิบายคุณสมบัติตามเงื่อนไข

แอตทริบิวต์แบบมีเงื่อนไขมีลักษณะดังต่อไปนี้:

  • มันสามารถนำไปใช้กับวิธีการและชั้นเรียน แต่ถ้าพวกเขาจะได้รับจากคุณลักษณะ
  • ในขณะที่ใช้แอ็ตทริบิวต์ที่มีเงื่อนไขกับคลาสคลาสของแอ็ตทริบิวต์จะถูกปล่อยไปยังเมทาดาทาก็ต่อเมื่อมีการกำหนดสัญลักษณ์การรวบรวมตามเงื่อนไข
  • ใช้พารามิเตอร์เดียวซึ่งเป็นสัญลักษณ์ของตัวระบุที่ควบคุมการรวบรวม
  • อาร์กิวเมนต์ที่ส่งผ่านไปยังเมธอดเงื่อนไขหรือคลาสแอ็ตทริบิวต์จะถูกตรวจสอบชนิดโดยคอมไพเลอร์
  • มันได้รับการดูแลอย่างสมบูรณ์จากคอมไพเลอร์และไม่ใช่ตามเวลาทำงาน
  • ไม่สามารถใช้กับวิธีที่ใช้ในนิพจน์ผู้รับมอบสิทธิ์สร้าง
  • มันไม่ส่งผลกระทบต่อรหัสที่สร้างขึ้นสำหรับวิธีการแบบมีเงื่อนไข แต่จะส่งผลกระทบต่อการเรียกวิธีการ

แอตทริบิวต์แบบมีเงื่อนไขให้รูปแบบการเขียนโปรแกรมที่ประกาศได้และช่วยให้บำรุงรักษาซอร์สโค้ดได้ง่าย โดยการใช้แอตทริบิวต์แบบมีเงื่อนไขที่ระดับวิธีการซอร์สโค้ดสามารถอ่านได้มากขึ้น ผู้เรียกใช้เมธอดไม่จำเป็นต้องใช้โค้ดเพิ่มเติมสำหรับการคอมไพล์แบบมีเงื่อนไข แอททริบิวต์แบบมีเงื่อนไขถูกใช้เพื่อเปิดใช้งานการติดตามและการบันทึกฟังก์ชันในการสร้างการดีบักโดยใช้ตัวระบุ DEBUG เพื่อแสดงและบันทึกข้อมูลการวินิจฉัยที่เกี่ยวข้องกับแอปพลิเคชัน นอกจากนี้ยังช่วยในการแยกลอจิกที่เกี่ยวข้องกับ debug build (ในระบบที่ใช้สำหรับการพัฒนา) จาก release builds ซึ่งถูกปรับใช้ในไซต์และแอปพลิเคชัน เพื่อรักษาหลายรุ่น (ด้วยคุณสมบัติที่เลือกในบางรุ่น) ของซอฟต์แวร์โดยไม่มีการทำซ้ำรหัสการรวบรวมแบบมีเงื่อนไขเป็นเทคนิคที่เหมาะสมโดยที่รหัสแหล่งหลักเดียวจะถูกเก็บรักษาไว้สำหรับหลาย ๆ รุ่นตามสัญลักษณ์ที่กำหนดไว้


ต่อไปนี้เป็นกฎบางข้อที่ต้องปฏิบัติตามในขณะที่ใช้แอตทริบิวต์แบบมีเงื่อนไข:

  • วิธีการแบบมีเงื่อนไขภายในการประกาศคลาสหรือ struct ต้องมีชนิดส่งคืนเป็นโมฆะ
  • ในขณะที่ใช้ตัวระบุหลายตัวเป็นแอตทริบิวต์แบบมีเงื่อนไขการรวมวิธีการจะขึ้นอยู่กับผลลัพธ์ของตรรกะหรือหรือตรรกะและบนสัญลักษณ์ที่กำหนด
  • ไม่สามารถระบุได้ในวิธีการในการประกาศอินเตอร์เฟส
  • วิธีการแบบมีเงื่อนไขไม่สามารถนำหน้าด้วยคำหลัก "แทนที่" แต่อาจเป็นเสมือนได้ หากถูกแทนที่จะถือว่าเป็นเงื่อนไขโดยปริยาย
  • สัญลักษณ์ที่พิจารณาสำหรับการคอมไพล์แบบมีเงื่อนไขสามารถกำหนดเป็นตัวเลือกบรรทัดคำสั่งคอมไพเลอร์หรือเป็นตัวแปรสภาพแวดล้อมจากเชลล์ OS หรือ pragmas (โดยใช้คำสั่ง preprocessor "#define") ในซอร์สโค้ด
  • ซึ่งแตกต่างจาก C ++ นิยามของสัญลักษณ์ใน C # สามารถเรียงลำดับใด ๆ และดังนั้นการสั่งซื้อระหว่าง "#define" และวิธีการตามเงื่อนไขจะต้องมีการตั้งค่าอย่างถูกต้อง

แม้ว่าการใช้ "#if และ #endif" จะเป็นตัวเลือกสำรองให้กับแอตทริบิวต์แบบมีเงื่อนไข แต่วิธีหลังจะให้วิธีการที่สะอาดสง่างามและมีข้อผิดพลาดน้อยกว่าเมื่อเปรียบเทียบกับแบบเดิม ภายในความแตกต่างคือว่าในขณะที่ใช้คุณลักษณะเงื่อนไขสำหรับวิธีการวิธีการจะยังคงเป็นส่วนหนึ่งของการชุมนุมและไม่ได้โหลด แต่ในกรณีของ #if / #endif วิธีการจะไม่สามารถมองเห็นได้ในการประกอบตัวเอง

คำจำกัดความนี้ถูกเขียนในบริบทของ C #
แอตทริบิวต์แบบมีเงื่อนไขใน c คืออะไร - คำจำกัดความจาก techopedia