4
จะระบุ precondition (LSP) ในอินเตอร์เฟสใน C # ได้อย่างไร?
สมมติว่าเรามีส่วนต่อไปนี้ - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } เงื่อนไขก่อนกำหนดคือ ConnectionString จะต้องตั้งค่า / intialized ก่อนที่จะสามารถเรียกใช้วิธีการใด ๆ เงื่อนไขนี้สามารถทำได้ค่อนข้างโดยผ่านการเชื่อมต่อสายผ่านตัวสร้างถ้า IDatabase เป็นระดับนามธรรมหรือคอนกรีต - abstract class Database { public string ConnectionString{get;set;} public Database(string connectionString){ ConnectionString = connectionString;} public void ExecuteNoQuery(string …