小编Bos*_*eek的帖子

我打破了封装吗?

class Program
{
    static void Main(string[] args)
    {
        B b = new B();
        b.Run();
        Console.Read();
    }
}

class A
{
    public event Action onChanged;

    public void Raise()
    {
        if (onChanged != null)
            onChanged();
    }
}

class B
{
    public void Run()
    {
        A a = new A();
        a.onChanged += a_onChanged;
        a.Raise();
    }

    private void a_onChanged()
    {
        Console.WriteLine("Wow! Invoked");
    }       

}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚可以证明我打破封装的有效点,或者可能不是.根据我的理解,我正在打破封装,因为私有方法正在从另一个类调用,这是否足以证明我违反了OOP法则.需要为上面的代码收集更多的内部概念和描述.

c# oop events delegates

7
推荐指数
1
解决办法
224
查看次数

.position()和.offset()之间的区别和一个有趣的观察?

问题:.offset()和.position()之间有什么区别?

我读了一些关于这方面的文档,但我仍然不清楚这两者之间的真正区别.我会要求一个简单的解释.

我的观察:

我写了一个javascript代码,我放在网页(.aspx)本身.javascript基本上是设置模态弹出窗口的位置.在那段代码中,我用.position()来获取div的位置,我将放置模态弹出窗口.现在,这是扭曲 - 当我将javascript代码移动到一个单独的js文件时,.position()完​​全没有正常工作,而我使用.offset()并且它工作正常.

我会请求解释一下吗?

jquery jquery-ui

6
推荐指数
1
解决办法
2750
查看次数

简单 - 如何使用编码的 UI 从 WPF 组合框中选择项目

我曾为 Web 应用程序使用过编码 UI,但这是我第一次尝试将编码 UI 用于 WPF。我想从组合框中单击一个项目但是,我无法在 WPF 中实现相同的目标。我试图遍历组合框内的项目,但没有奏效。尝试使用搜索属性 - 没有结果。此外,试图找出 AutomationElement 的东西,但无法获得解决方案。如果我能了解实现要求所需遵循的方法,那就太好了。

我已经捕获了控件并想使用它们。没有录音和回放。

wpf wpf-controls coded-ui-tests

0
推荐指数
1
解决办法
4092
查看次数

根据父任务的结果链接异步函数

我在这里想做的是,根据父任务执行,我尝试执行或取消后续的异步任务。我发现很难全神贯注于以下内容的执行并尝试以最优化的方式实现它。我正在寻找一种以最优化的方式编写此内容的方法。

另外,我很困惑为什么即使在抛出异常之后它仍然继续下一次迭代并等待任务找出抛出的异常。我找不到对此的解释。

 public static async Task<TOut> AndThen<TIn, TOut>(this Task<TIn> sourceTask, Func<TIn, Task<TOut>> sf, CancellationToken cancelToken)
 {
        return await sourceTask.ContinueWith(async st => {
            var res = await st; // Raising cancel request in here.
            cancelToken.ThrowIfCancellationRequested();
            return await sf(res);
        }, TaskContinuationOptions.NotOnFaulted & TaskContinuationOptions.NotOnCanceled).Unwrap();
 }
Run Code Online (Sandbox Code Playgroud)

c# task task-parallel-library async-await

0
推荐指数
1
解决办法
195
查看次数