gpt4 book ai didi

c# 在使用之前检查属性是否存在

转载 作者:行者123 更新时间:2023-11-30 21:17:21 27 4
gpt4 key购买 nike

IndicationBase indication = new IndicationBase(Chatham.Web.UI.Extranet.SessionManager.PhysicalUser);
// check for permissions
LightDataObjectList<TransactionPermission> perms = indication.Model.Trx.TransactionPermissionCollection;

所以有时 indication 会有一个 Model.Trx.TransationPermissionCollection,而很多时候它不会。在尝试访问它之前如何检查它是否存在,以免出现错误。

最佳答案

大概你得到了一个NullReferenceException?不幸的是,没有好的捷径可以做到这一点。你必须做类似的事情:

if (indication.Model != null &&
indication.Model.Trx != null)
{
var perms = indication.Model.Trx.TransactionPermissionCollection;
// Use perms (which may itself be null)
}

请注意,属性本身始终存在于此 - 静态类型和编译器确保这一点 - 这只是检查属性链中是否到处都有非空引用的情况。

当然,如果任何属性是不可为 null 的类型,则您不需要检查那些是否为 null:)

关于c# 在使用之前检查属性是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com