我有以下静态类。规则是自定义类型。请确认这种方法对于我传递给每个生成静态函数的规则的变量listToUpdate是线程安全的。
public static class RulesBO
{
public static List<Rule> GetRulesForTransaction(int transID)
{
List<Rule> toReturn = new List<Rule>();
GetRulesForSetA(transID,toReturn);
GetRulesForSetB(transID,toReturn);
}
public static void GetRulesForSetA(int transID, List<Rule> listToUpdate)
{
/*business logic and finally add/remove elements from listToUpdate*/
}
public static void GetRulesForSetB(int transID, List<Rule> listToUpdate)
{
/*business logic and finally add/remove elements from listToUpdate*/
}
}
感谢您的帮助
编辑:将从 ASP.NET 调用类 RulesBO。所以对于每个会话,对于用户的transactionID,都会调用GetRulesForTransaction 方法返回一个规则列表。
每个 GetRulesForSetXYZ 都会对特定的 transID 进行数据库调用,获取一些值,进行一些检查,如 <> 100、> 1000 等,然后将新的 RULE 实例添加到变量中。那些其他方法将是私有的,只有第一种方法是公共的。