7
เหตุใดจึงไม่สามารถกำหนดวิธีที่ไม่ระบุชื่อให้ var ได้
ฉันมีรหัสต่อไปนี้: Func<string, bool> comparer = delegate(string value) { return value != "0"; }; อย่างไรก็ตามสิ่งต่อไปนี้ไม่ได้รวบรวม: var comparer = delegate(string value) { return value != "0"; }; ทำไมคอมไพเลอร์ไม่สามารถคิดได้ว่ามันคือFunc<string, bool>อะไร? ใช้พารามิเตอร์สตริงเดียวและส่งคืนบูลีน แต่มันทำให้ฉันมีข้อผิดพลาด: ไม่สามารถกำหนดเมธอดแบบไม่ระบุชื่อให้กับตัวแปรโลคัลที่พิมพ์โดยนัย ฉันมีหนึ่งเดาและนั่นคือถ้ารุ่น var รวบรวมมันจะขาดความมั่นคงถ้าฉันมีต่อไปนี้: var comparer = delegate(string arg1, string arg2, string arg3, string arg4, string arg5) { return false; }; …