我是Java世界的新手。我从C#过来。我正在尝试设置一个自定义事件。下面是我在C#中如何做到这一点
class A
{
public EventHandler Changed;
public void FunctionA()
{
if(Change != null)
Changed(this, null); //fire the event!
}
}
class B
{
private A instanceOfA = new A();
public void FunctionB()
{
我在c#中实现了一种观察员模式,如下所示:
public delegate void MyEventOccurred(MyEventArg arg);
public interface IMyEventOccurred
{
void OnMyEventOccurred(MyEventArg arg);
}
class MyProviderClass
{
protected MyEventOccurred OnMyEventOccurredHandler;
public void AddMyEventOccurredHandler(MyEventOccurred han
自从我开始在c#中使用事件,我总是想知道它是否是面向对象的。
让我解释一下。在Java语言中,它有EventListner,观察者/观察者,这些对象必须继承才能触发或侦听事件。我的观点是,在Java中,它必须是一个负责通知订阅者或在被通知后执行操作的对象。在c#中,我看到的是:
public delegate void SomeHandler();
public event SomeHandler OnAction;
...
//somewhere in the firing class
OnAction();
...
//somewhere else in a subscriber cl
在Javascript中是否有一种像c#中的委托方式?
c#中的示例
Object.onFunctionCall = delegate (vars v) {
Console.WriteLine("I can do something in this private delegate function");
};
我希望用我的Javascript让我的主要对象在很长一段时间内做一些事情,并偶尔向一位代表开枪,以提供一些更新。所有这些都不需要改变我的类的代码本身来调整网页。
function mainObject() {
this.onUpdate = functi
在使用了IObservable和IObserver之后,我在C#中玩了一点。然而,我并不完全确定如何正确地使用它。我已经在谷歌上搜索过了,但结果要么过于具体问题,要么过于复杂。
这是我非常基本的Java代码:
public class SomeController extends Observable{
public void doSomething()
{
//dostuff
setChanged();
notifyObservers();
}
}
public class SomeView implements
我是c#编程新手,我为我的初级水平问题道歉。我试过在谷歌上搜索这个模式,但没有成功。在网上学习c# MVC/WCF时,我遇到了一些使用以下模式或技术的示例:
public PaperResponse GetPaperResults(LearnerPaperRequest request)
{
return LearnerResponse.GetPaperResults(request);
}
哪里
public static class LearnerResponse
{
public static PaperRes
在Java中,这是正常的:
public class Test {
public static void main(String[] args) throws Exception {
new Test().doWork(new Callback() { // implementing class
@Override
public void call() {
System.out.println("callback called");
类通过委托向协作者公开私有方法或属性的设计模式的名称是什么?这是在C#中实现的,但也可能与其他语言相关。
例如:
class Foo
{
public int X
{
get;
private set;
}
public void UpdateX(Bar bar)
{
bar.UpdateX(x => this.X = x);
}
}
class Bar
{
public void UpdateX(Action<int> setter)
{
se
我正在使用将Java的一个程序转换为C#的方法,在该程序中,我遇到了使用接口匿名的问题。请告诉我如何在C# 中实现这一点--这是java的例子,我们如何为C#?编写内部匿名文件?
interface Test
{
public void wish();
}
class Main
{
public static void main(String[] args)
{
Test t=new Test()
{
public void wish()
{
System.
我在C#中开发了一个基于PC的API,用于与嵌入式电子设备进行通信。此API读取PC端口,解码数据包,构造数据包并引发事件。现在我需要在Android手机上开发同样的API。由于C#和Java之间存在差异,我很困惑如何在Java中实现相同的目标。
以下C#代码引发事件:
public class MARGserial
{
dataObject = BT_DeconstructPacket(encodedPacket);
if (dataObject != null) // if packet successfully deconstructed
{
O
我刚开始学习C#中的观察者模式,我的需求与观察者模式正好相反:
我们有多个进程在运行,并且只有一个进程在监控所有进程。每个进程都可以(如果发生了某些事件)通知父进程。
似乎已经有这个问题"“讨论了这个问题,但仍然没有代码示例。
为了理解观察者模式,我在下面的回答中引用了Jon Skeet的代码。
using System;
class Observable
{
public event EventHandler SomethingHappened;
public void DoSomething()