/// <summary> /// Takes it a list of items and then performs an action to each item in the list. /// </summary> /// <param name="list">The list of items</param> /// <param name="action">The action to perform on each item</param> void DoToList(List<Item> list, SomeDelegate action) { foreach (Item item in list) { action(item); } }
public void Main() { SomeClassFoo slf = new SomeClassFoo (); someDelegate = Hoge; someDelegate += slf.SomeMethod; someDelegate (1.0f); }
static void Main() { SomeDelegate d = new SomeDelegate(Print); d += Sleep; for (int i = 0; i < 5; i++) { d(3); } }
public MainForm() { InitializeComponent(); Thread t = new Thread(new ThreadStart(Thread_Function_ReadDataFromServer)); byte[] data; //using (var ms = new MemoryStream()) //{ // Serializer.Serialize(ms, cust); // data = ms.ToArray(); //} Sensor_A = new SensorData(); Sensor_A.Name = "Sensor A"; // Serialyze MemoryStream BinaryFormatter bf = new BinaryFormatter(); using (var ms = new MemoryStream()) { bf.Serialize(ms, Sensor_A); data = ms.ToArray(); } // DeSerialyze MemoryStream using (var memStream = new MemoryStream()) { var binForm = new BinaryFormatter(); memStream.Write(data, 0, data.Length); memStream.Seek(0, SeekOrigin.Begin); var obj = binForm.Deserialize(memStream); Sensor_B = (SensorData)obj; textBox_Tab_TSP_UDP_Rx.Text = Sensor_B.Name; } // Serialization File BinaryFormatter formatter = new BinaryFormatter(); using (SendSensorData = new FileStream("./SensorsInfo.dat", FileMode.Create, FileAccess.Write, FileShare.None)) { formatter.Serialize(SendSensorData, Sensor_A); } // DeSerialization File //Восстановим состояние объекта using (var fStream = File.OpenRead("./SensorsInfo.dat")) { Sensor_B = (SensorData)formatter.Deserialize(fStream); } textBox_Tab_TSP_UDP_Rx.Text = Sensor_B.Name; sd = ParseMessageOverDelegate; // sd("Hello rfom Delegate"); asyncRes = sd.BeginInvoke("Hello from Delegate", null, null); t.Start(); }
static void Main(string[] args) { Program program = new Program(); SomeDelegate someDelegate = new SomeDelegate(program.WriteMySomething); program.SomeEvent += someDelegate; program.SomeEvent?.Invoke(); Console.ReadKey(); }
static void Main(string[] args) { //Delegate是个类,有个无参的构造函数,但是为private类型,所以new必须传参 SomeDelegate s = new SomeDelegate(Hello) + new SomeDelegate(Wow) + new SomeDelegate(Haha); s("Tom"); Console.WriteLine("==========="); s -= Hello; s("Jerry"); }
void M <SomeTypeParameter>( SomeClass a, SomeStruct b, SomeRecord c, SomeEnum d, SomeInterface e, SomeDelegate f, SomeTypeParameter g) { }
void UseAnonymousExpression() { // un named function assigned to SomeDelegate(); SomeDelegate del = () => Debug.Log("Anonymous Expression called."); del += NamedExpression; del.Invoke(); // Anonymous Expression called. // Named Expression called. }
public Calculator(IDbConnection connection, IDataAdapter adapter, DateTime current_date, DateTime end_date, SomeDelegate some_delegate) { this.connection = connection; this.adapter = adapter; this.current_date = current_date; this.end_date = end_date; this.some_delegate = some_delegate; this.date_on_property = DateTime.MaxValue; }
private void Start() { SomeDelegate a = delegate(int i) { Debug.Log($"A({i})が呼ばれました"); }; a += i => Debug.Log($"B({i})が呼ばれました"); a(256); Increments(); }
public void SetUp() { myFirst = MockRepository.GenerateStub <IMyFirst>(); someDelegate = () => { }; var defaultServiceProvider = new DefaultServiceProvider(); defaultServiceProvider.Register(x => myFirst); defaultServiceProvider.Register(x => someDelegate); defaultServiceProvider.Register <IMySecond>(x => new MySecond(x.Resolve <IMyFirst>())); serviceProvider = defaultServiceProvider; }
public void SetUp() { myFirst = MockRepository.GenerateStub<IMyFirst>(); someDelegate = () => { }; var defaultServiceProvider = new DefaultServiceProvider(); defaultServiceProvider.Register(x => myFirst); defaultServiceProvider.Register(x => someDelegate); defaultServiceProvider.Register<IMySecond>(x => new MySecond(x.Resolve<IMyFirst>())); serviceProvider = defaultServiceProvider; }
public DefaultServiceProviderTests() { myFirst = Substitute.For <IMyFirst>(); someDelegate = () => { }; var defaultServiceProvider = new DefaultServiceProvider(); defaultServiceProvider.Register(x => myFirst); defaultServiceProvider.Register(x => someDelegate); defaultServiceProvider.Register <IMySecond>(x => new MySecond(x.Resolve <IMyFirst>())); serviceProvider = defaultServiceProvider; }
static void Main(string[] args) { SomeDelegate sd = SquareNumber; // Create delegate instance Console.WriteLine("Before SquareNumber Method Invoke"); IAsyncResult asyncRes = sd.BeginInvoke(10, null, null); Console.WriteLine("Back to Main Method"); int res = sd.EndInvoke(asyncRes); Console.WriteLine(res); Console.ReadLine(); }
static void Main(string[] args) { SomeDelegate sd = SquareNumber; // Создаем делегат Console.WriteLine("Перед вызовом SquareNumber"); IAsyncResult asyncRes = sd.BeginInvoke(10, null, null); Console.WriteLine("Возвращаемcя в главный метод"); int res = sd.EndInvoke(asyncRes); Console.WriteLine(res); Console.ReadLine(); }
// Regular method that matches signature: void SourceMethod() { // Instantiate delegate with named method: SomeDelegate d1 = Target.SampleDelegateMethod; // Instantiate delegate with anonymous method: SomeDelegate d2 = delegate(string message) { Console.WriteLine(message); }; // Invoke delegate d1: d1("Hello"); // Invoke delegate d2: d2(" World"); }
public static void Main() { SomeDelegate d1 = Method; d1.BeginInvoke(null, null); OtherDelegate d2 = Method; d2.EndInvoke(null); StrippedDelegate d3 = Method; d3.DynamicInvoke(null); }
public void VerifyAddRemoveEventHandler8() { EventInfo ei = GetEventInfo(typeof(BaseClass), "EventPublic"); Assert.NotNull(ei); EventHandler myhandler = new EventHandler(MyEventHandler); BaseClass obj = new BaseClass(); SomeDelegate d1 = new SomeDelegate(SomeHandler); //Handler is not correct. Assert.Throws <ArgumentException>(() => { ei.AddEventHandler(obj, d1); }); }
private static void RunDelegate() { // 委派:可以將工作加入到某個等待被執行的委派當中,如下程式碼,在SomeDelegate method 代表method是一個委派可以加入相同參數的方法, // 如程式碼中的Method1、Method2、Method3,都是丟給method來執行。 Console.WriteLine("委派:可以將工作加入到某個等待被執行的委派當中,如下程式碼,在SomeDelegate method 代表method是一個委派可以加入相同參數的方法,如程式碼中的Method1、Method2、Method3,都是丟給method來執行。"); Console.WriteLine("Start (4) Run Delegate method"); SomeDelegate method = Method1; method += Method2; method += Method3; method.Invoke("HI"); Console.WriteLine("Done. 請按任意鍵繼續"); Console.ReadLine(); }
public void Run(SomeDelegate a) { int row = 1; for (int i = 0; i <= this.total; i++) { Console.SetCursorPosition(0, 0); Console.Write(i); if (i!=0 && i%this.interval ==0) { Console.SetCursorPosition(0, row); a(); row++; } Thread.Sleep(1000); } }
public void InvokeMethod() { SomeDelegate del = delegate { Console.WriteLine("Hello"); }; del("\nParameter is ignored"); // this parameter is ignored at run time SomeDelegate delP = delegate(string s) { Console.WriteLine(s); }; delP("\nParameter is passed"); }
private static void NeverCalled() { SomeDelegate dlgt = null; SuperStruct structi = Nonsense(dlgt, true); Console.WriteLine(structi.Deep); ISomeDeep deep = null; Console.WriteLine(deep.Name); structi.Crap(); Console.WriteLine(typeof(SuperStruct).Assembly.FullName); deep.OnMouseExploding += Deep_OnMouseExploding; var myFun = GetMySpecialMeth <SomeDelegate, ISomeDeep>(false, null, 0); Console.WriteLine(myFun); var mySun = GetMySpecialMeth <ISet <ISomeDeep> >(true, 1); Console.WriteLine(mySun); var myCan = GetMySpecialMeth <SomeDelegate[], ISomeDeep>(false, null, 2); Console.WriteLine(myCan); IDictionary <string, SomeDelegate> dict = new Dictionary <string, SomeDelegate>(); Console.WriteLine(dict["hello"]); ISet <ISomeDeep> set = new HashSet <ISomeDeep>(); Console.WriteLine(set.Add(null)); IList <SuperStruct> list = new List <SuperStruct>(); Console.WriteLine(list[1]); SomeDelegate[] delgts = new SomeDelegate[12]; Console.WriteLine(delgts[3]); SomeDelegate[,] delgts2 = new SomeDelegate[12, 45]; Console.WriteLine(delgts2[3, 1]); SomeDelegate[,,] delgts3 = new SomeDelegate[12, 45, 78]; Console.WriteLine(delgts3[3, 1, 2]); }
private void MathGraph(SomeDelegate funct) { double a = double.Parse(textBox1.Text); double b = double.Parse(textBox2.Text); double step = 0.1; //!!!!!! Использует chart для вывода функции chart1.ChartAreas[0].AxisX.ScaleView.Zoom(a, b); chart1.ChartAreas[0].CursorX.IsUserEnabled = true; chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true; chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true; chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true; for (double i = a; i <= b; i += step) { chart1.Series[0].Points.AddXY(i, funct(i)); } }
public void GetExportsImportDefinitionForDelegateReturningProperty(IContainer container) { var exportProvider = GetMefV1Container(container); SomeDelegate del = exportProvider.GetExportedValue <SomeDelegate>(); Assert.Null(del(null, null)); var importDefinition = new MefV1.Primitives.ContractBasedImportDefinition( MefV1.AttributedModelServices.GetTypeIdentity(typeof(SomeDelegate)), MefV1.AttributedModelServices.GetTypeIdentity(typeof(SomeDelegate)), new KeyValuePair <string, Type> [0], MefV1.Primitives.ImportCardinality.ZeroOrMore, false, true, MefV1.CreationPolicy.Any); var results = exportProvider.GetExports(importDefinition).ToArray(); Assert.Equal(1, results.Length); Assert.IsAssignableFrom(typeof(SomeDelegate), results[0].Value); }
/// <summary> /// Осуществляет обход дерева и делает с узлами то, что передано в качестве делегата /// с сигнатурой void Node /// </summary> /// <param name="whatToDoWithNode">делегат с сигнатурой void Node</param> public void TreeTraversal(SomeDelegate whatToDoWithNode) { Node <T> currentNode = this.root; Node <T> nextLevel = root.LeftChild; // пока есть что печатать while (currentNode != null) { // печатаем whatToDoWithNode(currentNode); // если существует правый брат, то переходим на него и повторяем цикл if (currentNode.RightBrother != null) { currentNode = currentNode.RightBrother; continue; } // если правого брата нет, то переходим на следующий уровень currentNode = nextLevel; // находим следующий уровень для nexLevel if (nextLevel != null) { if (nextLevel.RightBrother == null) { nextLevel = null; continue; } while (nextLevel.RightBrother != null) { nextLevel = nextLevel.RightBrother; if (nextLevel.LeftChild != null) { nextLevel = nextLevel.LeftChild; break; } } } } }
private void button1_MouseClick(object sender, MouseEventArgs e) { SomeDelegate funct1 = new SomeDelegate(Math.Sin); SomeDelegate funct2 = new SomeDelegate(x2);//передача синуса в делегат //имя функции,которую выбрал пользователь string func_name = comboBox1.Text; switch (func_name) { case "sin": MathGraph(funct1); break; case "x^2": MathGraph(funct2); break; default: MathGraph(funct1); break; } }
static void Main(string[] args) { SomeDelegate a = new SomeDelegate(A); a(256); }
// Use this for initialization void Start() { SomeDelegate a = DoSomething; a(256); }
static void Main() { SomeDelegate a = A; a(256); }
public Delegates(SomeDelegate _delegate) { Delegate = _delegate; }
public virtual async Task <int> MethodWithDelegate(string something, SomeDelegate d) { return(await Task.FromResult(1)); }
static void Main() { SomeDelegate del = null; SomeDelegate staticDelegate = new SomeDelegate(SomeClass.SomeStaticMethod); staticDelegate("Привет Мир!"); SomeClass someObj = new SomeClass(); staticDelegate += someObj.SomeInstanceMethod;; staticDelegate("Мир Привет!"); staticDelegate += SomeClass.SomeStaticMethod; del += SomeClass.SomeStaticMethod; del += someObj.SomeInstanceMethod; foreach (SomeDelegate item in del.GetInvocationList()) { item("Привет Мир!"); } SomeDelegate someDelegate = delegate(String arg) { Console.WriteLine(arg); }; someDelegate("ChupaChups"); Console.ReadKey(); string login = "******", password1 = "E=mc^2", password2 = "E=mc^2", resCapcha = "asd", resCode = "asd1"; LengthLogin ll = ss => ss.Length; int longlogin = ll(login); BoolPassword bp = (s1, s2) => s1 == s2; if (bp(password1, password2)) //Checking password { Console.WriteLine("Регистрация удалась!"); } else { Console.WriteLine("Регистрация провалилась. Пароли не совпадают"); } Console.ReadKey(); Capcha cp = (s1, s2) => { if (s1 == s2) { Console.WriteLine("Регистрация удалась!"); } else { Console.WriteLine("Не переживай, в следующий раз получится :)"); } return; }; cp(resCapcha, resCode);//Checking capcha Console.ReadKey(); }
static extern SuperStruct Nonsense(SomeDelegate proc, bool shit);
private void get_stability_btn_Click(object sender, EventArgs e) { //デリゲートの実装 SomeDelegate some = new SomeDelegate(delegate { bool result = false; if (LaserPreheat()) { result = true; } else { result = false; } if (getStability()) { result = true; } else { _isErrorOperation = true; result = false; } return result; }); //AsyncCallbackデリゲート AsyncCallback callback = new AsyncCallback(some_Completed); //第一引数にコールバックメソッドを指定 IAsyncResult ar = some.BeginInvoke(callback, null); //処理の終了監視用タイマー始動 operationChecker_tim.Enabled = true; //プログレスバーのスタート stab_prb.Visible = true; startStabProgress(); //ボタンの入力禁止 AllButtonDisable(); //温度チェックの停止とファンの停止 TempAndFanControl(false); log_tbx.Text = "安定性測定中"; log_tbx.Refresh(); }
public void VerifyAddRemoveEventHandler9() { EventInfo ei = GetEventInfo(typeof(BaseClass), "EventPublic"); Assert.NotNull(ei); EventHandler myhandler = new EventHandler(MyEventHandler); BaseClass obj = new BaseClass(); ei.AddEventHandler(obj, myhandler); SomeDelegate d1 = new SomeDelegate(SomeHandler); //Handler is not correct. // Win8P throws generic Exception Assert.Throws<ArgumentException>(() => { ei.RemoveEventHandler(obj, d1); }); }
public BaseClass(SomeDelegate d) { d(); }
public void DelegateTest() { SomeDelegate method = new SomeDelegate(TestDelegateMethod); method.Invoke(3); }