public ThreadModelAttribute(ThreadModel model) { ThreadModel value = model & ~ThreadModel.AllowEveryCaller; if ((value < ThreadModel.MainThread) || (value > ThreadModel.Concurrent)) { throw new ArgumentException(model.ToString() + " is not a valid ThreadModel value."); } Model = model & (ThreadModel)0x0007; AllowsEveryCaller = (model & ThreadModel.AllowEveryCaller) != 0; }
private ThreadModelAttribute BasicCheck (ThreadModel model, bool every) { string name = model.ToString (); ThreadModelAttribute tma = new ThreadModelAttribute (model); Assert.AreEqual (model & ~ThreadModel.AllowEveryCaller, tma.Model, name); Assert.AreEqual (every, tma.AllowsEveryCaller, name + ".AllowsEveryCaller"); Assert.AreEqual (every, tma.ToString ().Contains ("AllowEveryCaller"), "ToString()"); int code = tma.GetHashCode (); tma.AllowsEveryCaller = !tma.AllowsEveryCaller; Assert.AreNotEqual (code, tma.GetHashCode (), name + "!HashCode"); tma.AllowsEveryCaller = !tma.AllowsEveryCaller; return tma; }
private ThreadModelAttribute BasicCheck(ThreadModel model, bool every) { string name = model.ToString(); ThreadModelAttribute tma = new ThreadModelAttribute(model); Assert.AreEqual(model & ~ThreadModel.AllowEveryCaller, tma.Model, name); Assert.AreEqual(every, tma.AllowsEveryCaller, name + ".AllowsEveryCaller"); Assert.AreEqual(every, tma.ToString().Contains("AllowEveryCaller"), "ToString()"); int code = tma.GetHashCode(); tma.AllowsEveryCaller = !tma.AllowsEveryCaller; Assert.AreNotEqual(code, tma.GetHashCode(), name + "!HashCode"); tma.AllowsEveryCaller = !tma.AllowsEveryCaller; return(tma); }