ดังนั้นฉันทำงานใน. Net ฉันทำโครงการโอเพนซอร์สใน. Net หนึ่งในปัญหาที่ใหญ่ที่สุดของฉันกับมันไม่จำเป็นต้องมี. Net แต่กับชุมชนและกรอบรอบ ๆ มัน ดูเหมือนทุกที่แผนการตั้งชื่อและสตริงที่มีมนต์ขลังจะถือเป็นวิธีที่ดีที่สุดในการทำทุกอย่าง คำสั่งตัวหนา แต่ดูที่:
ASP.Net MVC:
สวัสดีเส้นทางโลก:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
สิ่งนี้หมายความว่า ASP.Net MVC จะค้นหาHomeController
รหัสของคุณ สร้างอินสแตนซ์ใหม่ของมันแล้วเรียกใช้ฟังก์ชันIndex
กับid
พารามิเตอร์บางประเภท แล้วมีสิ่งอื่น ๆ เช่น:
RenderView("Categories", categories);
...or..
ViewData["Foobar"]="meh";
แล้วมีสิ่งที่คล้ายกันกับ XAML เช่นกัน DataContext
ได้รับการปฏิบัติเหมือนเป็นวัตถุและคุณต้องหวังและสวดภาวนาเพื่อแก้ไขสิ่งที่คุณต้องการ DependencyProperties ต้องใช้สายเวทและแบบแผนการตั้งชื่อเวทมนต์ และสิ่งนี้:
MyData myDataObject = new MyData(DateTime.Now);
Binding myBinding = new Binding("MyDataProperty");
myBinding.Source = myDataObject;
แม้ว่าจะขึ้นอยู่กับการคัดเลือกนักแสดงและสนับสนุนเวทย์มนตร์ต่างๆ
อย่างไรก็ตามฉันพูดทั้งหมดที่จะจบลงที่นี่: เหตุใดจึงมีการยอมรับอย่างดีในโลก. Net? เราไม่ได้ใช้ภาษาที่พิมพ์แบบสแตติกเพื่อให้รู้ว่าประเภทของสิ่งนั้นคืออะไร? เหตุใดจึงมีการสะท้อนและพิมพ์ / วิธี / คุณสมบัติ / ชื่อใด ๆ (เป็นสตริง) มากกว่าในการเปรียบเทียบกับชื่อสามัญและผู้ได้รับมอบหมายหรือแม้แต่การสร้างรหัส?
มีสาเหตุมาจากสาเหตุที่ฉันขาดหายไปหรือไม่เพราะเหตุใดไวยากรณ์การจัดเส้นทางของ ASP.Net อาศัยการสะท้อนกลับเพื่อแก้ไขวิธีจัดการเส้นทางอย่างแท้จริงหรือไม่ ฉันเกลียดเมื่อฉันเปลี่ยนชื่อของเมธอดหรือคุณสมบัติและทันใดนั้นสิ่งต่าง ๆ แตกสลาย แต่ดูเหมือนจะไม่มีการอ้างอิงใด ๆ กับวิธีการหรือคุณสมบัตินั้นและแน่นอนว่าไม่มีข้อผิดพลาดของคอมไพเลอร์ เหตุใดความสะดวกสบายที่ชัดเจนของสายเวทจึงถูกพิจารณาว่า "คุ้มค่า"?
ฉันรู้ว่ายังมีตัวเลือกที่พิมพ์แบบคงที่ทั่วไปบางสิ่งบางอย่าง แต่พวกเขามักจะใช้เบาะหลังและดูเหมือนจะไม่เคยอยู่ในบทเรียนหรือวัสดุเริ่มต้นอื่น ๆ
var
ของ