代码与动态变量契约化

本文关键字:契约化 变量 动态 代码 | 更新日期: 2023-09-27 18:05:56

示例代码:

    private dynamic tableAdapter; 
    public dynamic TableAdapter 
    {
        get
        {
            return tableAdapter;
        }
        set
        {
            tableAdapter = value;
            if (tableAdapter != null)
            {
              SQLiteConnection cn = tableAdapter.Connection;
            }
        }
    ...

构建后,我有警告:CodeContracts: reference use unreached(在同一位置有1个未到达的断言)。可能有一些方法来解决问题,而不改变tableAdapter类型为对象?

代码与动态变量契约化

我在使用CodeContracts时遇到了同样的问题。问题是由于使用看似合理的动态变量,因为静态检查器无法到达动态对象的可用字段或方法。我的方法是压制警告。