ข้อแตกต่างระหว่างinternalและprivateตัวดัดแปลงการเข้าถึงใน C # คืออะไร
ข้อแตกต่างระหว่างinternalและprivateตัวดัดแปลงการเข้าถึงใน C # คืออะไร
คำตอบ:
ภายในสำหรับขอบเขตแอสเซมบลี (เช่นเข้าถึงได้จากรหัสใน. exe หรือ. dll เดียวกันเท่านั้น)
ส่วนตัวสำหรับขอบเขตของคลาส (เช่นสามารถเข้าถึงได้จากรหัสในคลาสเดียวกันเท่านั้น)
ค้นหาคำอธิบายด้านล่าง คุณสามารถตรวจสอบลิงค์นี้เพื่อดูรายละเอียดเพิ่มเติมได้ที่ http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
ส่วนตัว: - สมาชิกส่วนตัวสามารถเข้าถึงได้เฉพาะภายในประเภทของตัวเอง (ชั้นเรียนของตัวเอง)
ภายใน: - สมาชิกภายในสามารถเข้าถึงได้เฉพาะภายในแอสเซมบลีโดยการสืบทอด (ชนิดที่ได้รับ) หรือตามอินสแตนซ์ของคลาส

เอกสารอ้างอิง:
Protected Internal Protected
protected internal protected OR internal
With Typeหมายถึง?
ANDเมทริกซ์ที่ | จริงเท็จ | เท็จ | protected internalเท็จ ไม่ง่าย แต่มันเป็นความจริง | | จริง | OR'dจริงเท็จเช่นถ้า
private protectedจะไม่ง่ายนัก สำหรับรายละเอียด: docs.microsoft.com/en-us/dotnet/csharp/language-reference/ ......
internalสมาชิกสามารถมองเห็นรหัสทั้งหมดในแอสเซมบลีที่พวกเขาจะประกาศมา
(และแอสเซมบลีอื่นอ้างอิงโดยใช้[InternalsVisibleTo]คุณลักษณะ )
privateสมาชิกสามารถมองเห็นได้เฉพาะในชั้นเรียนที่ประกาศ (รวมถึงคลาสที่ซ้อนกัน)
ไม่สามารถประกาศคลาส outer (ที่ไม่ซ้อนกัน) privateเนื่องจากไม่มีขอบเขตที่จะทำให้เป็นส่วนตัว
เพื่อตอบคำถามที่คุณลืมขอให้protectedสมาชิกเป็นเหมือนprivateสมาชิก แต่ยังปรากฏให้เห็นในทุกชั้นเรียนที่รับประเภทการประกาศ (แต่ในนิพจน์อย่างน้อยประเภทของคลาสปัจจุบัน)
เอกชน - การห่อหุ้มในคลาส / ขอบเขต / โครงสร้าง ect '
ภายใน - การห่อหุ้มในการประกอบ
สมาชิกส่วนตัวสามารถเข้าถึงได้เฉพาะภายในร่างกายของชั้นเรียนหรือโครงสร้างที่พวกเขาจะประกาศ
ภายในประเภทหรือสมาชิกจะสามารถเข้าถึงได้เฉพาะภายในไฟล์ในการชุมนุมเดียวกัน
ภายในจะอนุญาตให้คุณอ้างอิงพูดคลาส Data Access แบบคงที่ (เพื่อความปลอดภัยของเธรด) ระหว่างคลาสตรรกะทางธุรกิจหลายคลาสในขณะที่ไม่ได้สมัครเป็นสมาชิกเพื่อรับคลาส / การเดินทางนั้นกันในพูลการเชื่อมต่อและท้ายที่สุด เพื่อส่งเสริมการเข้าถึงในระดับสาธารณะ สิ่งนี้มีการสนับสนุนในการออกแบบและแนวทางปฏิบัติที่ดีที่สุดนับไม่ถ้วน
Entity Framework ใช้ประโยชน์จากการเข้าถึงประเภทนี้ได้ดี
สมาชิกภายในสามารถเข้าถึงได้ภายในชุดประกอบ (เข้าถึงได้ในโครงการเดียวกันเท่านั้น)
สมาชิกส่วนตัวสามารถเข้าถึงได้ภายในชั้นเดียวกัน
มี 2 โครงการในโซลูชัน (Project1, Project2) และ Project1 มีการอ้างอิงถึง Project2