小编Puc*_*acz的帖子

window.location.href上的onchange事件

我想在window.location.href链接更改时触发一些Javascript函数.可能吗?

像这样的东西:

$(window.location.href).on('change', function(){
   doSomething();
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

18
推荐指数
3
解决办法
4万
查看次数

共同与核心 - 差异

假设我们有几个库.核心库和普通库有什么区别.如何认识和组织两者的责任.

+Common
  -Class1
+Core
  -Class2
+Lib1 has : Common
+Lib2 has : Core, Common
Run Code Online (Sandbox Code Playgroud)

共同应该是普遍的(所有的库都使用它)?或者只对那些需要它的人来说是常见的?

重构/创建项目时的好习惯是什么?

我并没有真正感受到Core和Common之间的差异.

naming

11
推荐指数
1
解决办法
2981
查看次数

Android,空列表视图从其他片段返回

Hy,我的片段中有列表视图.我用我的其他片段替换这个listview片段但是当我想要回到我的列表时,它是空的.我以为我可以恢复我的列表项目,但我不知道如何.我假设与Fragment生命周期一致,我的适配器将是可重用的,但看起来并非如此.这是我的代码:

public class ThreadListFragment extends Fragment implements FragmentConnectionStatus, ListFragment, OnClickListener, OnItemClickListener{
       private ListView ListView;
       private PilotController Activity;
       private Button ButtonStartNewThread;
       private boolean Paused;
       private ThreadInfoAdapter adapter;

@Override
   public View onCreateView(LayoutInflater inflater,
      ViewGroup container, Bundle savedInstanceState) {
      /**
   * Inflate the layout for this fragment
   */
        super.onCreateView(inflater, container, savedInstanceState);
        View view = inflater.inflate(R.layout.threads_list_fragment, container, false);
        System.out.println(this.Paused);
        if(this.Paused == false){
            this.ListView = (ListView) view.findViewById(R.id.listViewActiveThreads);
            ArrayList<Guid> strs = new ArrayList<Guid>();
            adapter = new ThreadInfoAdapter(view.getContext(), strs, this);
        }
        this.ListView.setAdapter(adapter);
        this.ListView.setItemsCanFocus(true);
        this.ListView.setOnItemClickListener(this);
        this.Activity = (PilotController) …
Run Code Online (Sandbox Code Playgroud)

android listview restore

10
推荐指数
1
解决办法
2255
查看次数

双线性图像插值/缩放 - 计算示例

我想问你一些双线性插值/缩放细节.我们假设我们有这个矩阵:

|100 | 50 |
|70  | 20 |
Run Code Online (Sandbox Code Playgroud)

这是一个2 x 2灰度图像.现在,我想将它缩放两倍,我的矩阵看起来像这样:

| 100   | f1 | 50 | f2 |
| f3    | f4 | f5 | f6 |
| 70    | f7 | 20 | f8 |
Run Code Online (Sandbox Code Playgroud)

所以如果我们想计算f4,计算定义为

f1 = 100 + 0.5(50 - 100) = 75
f7 = 70 +  0.5(20 - 70) = 45
Run Code Online (Sandbox Code Playgroud)

现在终于:

f4 = 75 + 0.5(45 - 75) = 60
Run Code Online (Sandbox Code Playgroud)

但是,我无法真正理解f3f1适合的计算

我们是否分别在每个方向进行双线性缩放?因此,这意味着:

f3 = 100 + …
Run Code Online (Sandbox Code Playgroud)

interpolation image image-processing linear-interpolation image-scaling

10
推荐指数
1
解决办法
2万
查看次数

操作系统必须支持异步方法或者是异步程序级功能

教程有时会指向自己的异步方法的实现,例如以下代码:

async public static Task GetHttpResponseAsync()
{
   using (HttpClient httpClient = new HttpClient())
   {
       HttpResponseMessage response = await httpClient.GetAsync(...);
       Console.WriteLine(response.Something);
   }            
}
Run Code Online (Sandbox Code Playgroud)

我很清楚异步一般如何工作的,但没有一个教程解释内部是如何实现的

httpClient.GetAsync(...);
Run Code Online (Sandbox Code Playgroud)

这对于详细了解异步代码的工作原理非常重要。让我好奇的是 GetAsync 的内部操作(那些方法或其他异步方法)是否在执行此代码的某种容器中注册?操作系统是否必须支持异步方法(fe 它使用 windows api)?如果我想实现我自己的异步文件下载器(从磁盘并且没有来自 .NET 框架的重要部分),我将如何实现它,我应该在某处注册我的方法以供进一步调用吗?

对我来说很清楚,在内部,编译器制作状态机,在 DoSomething() 方法完成它必须做的事情之后,它只是再次调用这个状态机以在等待后继续执行代码。

另外我不清楚的是异步代码如何在同一线程上运行。我认为维护状态机必须在同一个线程上,但是 httpClient.GetAsync() 中的代码如何可以在同一个线程上运行并且不中断其他操作(fe gui)。必须有一些东西使此代码在单独的线程上运行(在所有情况下)。我错了吗?我错过了什么?

我的问题的附加解释:在 JavaScript 中,据我所知和理解,异步方法的工作原理是将它们注册到某种容器中(在单独的线程上一个一个地运行它们),该容器执行此方法。方法执行完成后,结果返回到用户上下文,我很清楚,这里的工作方式是否相同?

c# asynchronous

5
推荐指数
1
解决办法
573
查看次数

Serilog - ForContext 将字典值视为复杂对象

我正在尝试通过执行以下操作来记录传递给控制器​​的模型:

        _log
            .ForContext("Id", "XXXXXX-XXXX-XXXX-XXXXXXXXX")
            .ForContext("Email", email)
            .ForContext("UserId", userId)
            .ForContext("Parameters", parameters)
            .ForContext("Errors", errors.ToArray())
            .ForContext("ActionArguments", actionArguments)
            .Information(message);
Run Code Online (Sandbox Code Playgroud)

其中actionArguments是 类型IDictionary<string, object> actionArguments。这被解释为

{
   someProperty: "Some.Namespace.Dtos.Something.MyTypeDto"
}
Run Code Online (Sandbox Code Playgroud)

我真的希望someProperty扩展到复杂类型所代表的内容。是否可以?怎么做?

c# serilog

5
推荐指数
1
解决办法
1620
查看次数

C#IL - 调用构造函数

我正在学习C#IL简单的例子而且无法理解.我有一个非常简单的程序:

void Main()
{
   C c = new C(1);
}
class C
{
   public C(){}
   public C(int i){}
}
Run Code Online (Sandbox Code Playgroud)

有CIL:

IL_0001:  ldc.i4.1    
IL_0002:  newobj      UserQuery+C..ctor
IL_0007:  stloc.0     // c

C..ctor:
IL_0000:  ldarg.0     
IL_0001:  call        System.Object..ctor
IL_0006:  nop         
IL_0007:  nop         
IL_0008:  nop         
IL_0009:  ret         

C..ctor:
IL_0000:  ldarg.0     
IL_0001:  call        System.Object..ctor
IL_0006:  nop         
IL_0007:  nop         
IL_0008:  nop         
IL_0009:  ret  
Run Code Online (Sandbox Code Playgroud)

我不明白,虚拟机将如何区分应该调用哪一个构造函数.有两个相同的标签,唯一的区别似乎是推动主要论证.调用构造函数时有更深层次的东西吗?也许编译器提供一些元数据来区分应该调用哪一个?

所以我们假设这个:

void Main()
{
  C c = new C(1);
}
class C
{
  public C(){}
  public C(int i){ i += 1;}
} …
Run Code Online (Sandbox Code Playgroud)

.net c# cil

4
推荐指数
2
解决办法
2065
查看次数

创建具有更改的返回类型的 getter 委托

我需要将所有属性映射到 Func。我该怎么做呢?

我有课

class A 
{
    public int SomeIntValue { get; }
    public string SomeStringValue { get; }
    public Dictionary<...> SomeDictionary { get; }
}
Run Code Online (Sandbox Code Playgroud)

和字典Dictionary<string, Func<A, object>>。我正在尝试为 getter 方法创建委托,但我无法真正弄清楚如何做到这一点。

这样一来,它就行不通了,而且这是有道理的。我需要间接地做到这一点,但是怎么做呢?

(Func<TType, object>) Delegate.CreateDelegate(typeof(Func<TType, object>), null, property.GetGetMethod())
Run Code Online (Sandbox Code Playgroud)

.net c#

4
推荐指数
1
解决办法
339
查看次数

从子文件夹解析程序集的正确方法

这是我的应用程序文件夹的样子:

Application:
+ App.exe
+ App.exe.config
Application/Plugins:
+ Plugin1 (folder)
Application/Plugins/Plugin1:
+ Plugin1.dll
+ SomeDll.dll
Run Code Online (Sandbox Code Playgroud)

所以主应用程序 App.exe 寻找插件文件夹并将 {PluginName}.dll 加载到内存中以运行它。该插件通常使用它自己的必须加载的依赖程序集(如 SomeDll.dll)。看起来它有时会制造严重的麻烦。我收到异常,例如无法找到依赖程序集的依赖程序集,我不知道为什么。

例如,我的插件必须加载大量额外的 dll,因为插件运行 OwinSelfHost 服务。

所以它必须加载例如:

System.Web.Http.Owin
Owin
Microsoft.Owin
Microsoft.Owin.Host.HttpListener
Microsoft.Owin.Hosting
Run Code Online (Sandbox Code Playgroud)

当加载Microsoft.Owin.Hosting然后抛出无法加载Microsoft.Owin 的异常

异常看起来像:

Could not load file or assembly 'Microsoft.Owin, Version=2.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of it's dependencies. File not found.
Run Code Online (Sandbox Code Playgroud)

.net c#

3
推荐指数
1
解决办法
1993
查看次数