问题列表 - 第8486页

有没有办法在C#中重载扩展方法?

我有以下模型模式:

public abstract class PARENTCLASS {...}
public class CHILD_A_CLASS : PARENTCLASS{...}
public static class EXTENSION{
  public static METHOD(this PARENTCLASS parent){...}
  public static METHOD(this CHILD_A_CLASS child) {...}
}
Run Code Online (Sandbox Code Playgroud)

像上面这样的东西,当然会有更多的孩子(和孙子)课程,但我只是把它们中的一个.问题是,当我调用扩展方法时,如下所示:

PARENTCLASS cc = new CHILD_A_CLASS();
cc.METHOD();
Run Code Online (Sandbox Code Playgroud)

它将执行PARENT扩展方法而不是我期望的CHILD扩展方法.有人知道如何实现这个?(我没有考虑将METHOD本身放入类中并让它继承,因为我希望保持模型类的清洁并远离其他逻辑).

c# extension-methods

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

按周/月/等分组和ActiveRecord?

我在我的产品中做了一些静力学计算.用户已经执行了许多操作,比方说发布了评论.我希望能够向他们展示他们在过去一个月或过去一年中每个月每周发布的评论数量.

有没有办法用activerecord这种方式分组?我最好只是手动执行此操作 - 根据我自己的标准迭代记录总结?

class User < ActiveRecord::Base
  has_many :comments
end

class Comments < ActiveRecord::Base
  belongs_to :user
end

@user.comments(:all).map {|c| ...do my calculations here...}
Run Code Online (Sandbox Code Playgroud)

或者有更好的方法吗?

谢谢!奥伦

activerecord grouping ruby-on-rails

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

通过Internet向开发人员发送应用程序错误和日志的最佳方法是什么?

作为C#应用程序的作者,我发现如果我可以访问异常或调试日志,用户报告的故障排除问题会更容易.

我已经包含了一个用户可以打开或关闭的本土日志记录机制.我希望用户能够通过互联网提交日志,以便查看日志中的错误.

我曾想过使用SMTPClientWeb服务来发送信息.SMTPClient可能无法正常工作,因为防火墙可能会阻止外发SMTP访问.Web服务是否会出现发送大量数据(可能超过1 MB)的问题?

您建议将应用程序直接向开发人员传输错误报告以供审核的最佳方法是什么?

编辑:澄清:这是一个Windows应用程序,当发生错误时,我想提出一个对话框,要求提交错误.我的问题是关于通过互联网将错误日志从应用程序传输给我(开发人员)的机制.

c# error-logging web-services error-reporting

8
推荐指数
1
解决办法
3204
查看次数

"正确"的方式为客户或经理提供软件估算的实际检查

回顾我过去的项目,我经常遇到这个:

客户或经理向我提出任务并要求估算.我估计说24小时.他们还问一位商业分析师,据我所知,他们的经历主要是非技术性的.他们估计说16个小时.最后,他们会考虑分析师给出的价值,即使除了提供我的估计之外,我还向他们解释了技术方面任务的可行性.他们将分析师的估计视为"生活中的事实",尽管它只是一种估计,真正的价值在于实际任务本身.更糟糕的是,我看到一种模式,与任务的可行性相比,他们倾向于选择较低的价值(比如我提出的分析值低于分析师,他们很快就会考虑它).如果您已经阅读过Peopleware,那么他们就是那些给予一系列工作时间会做任何事情的人,尽管实际上并不存在,但他们有权缩短一切.

你有没有具体的谈判技巧和战术,以避免这种情况?

language-agnostic

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

哪些应用程序太慢了?或者:需要多核吗?

就像汽车一样,速度很酷,但是:" 需要速度吗?人们会付钱吗?"

文字处理,电子邮件和电子表格都足够快,即使是功能不足的上网本(它们已经足够快十年了.)如果您可以播放高清视频和声音,人们是否需要它更快?似乎游戏总能使用更多的力量,这是真的 - 但人们会为此付出代价吗?"休闲游戏"和Nintendo Wii(参见XBOX360和PSX3)的成功表明,大多数人都不会; 并且更多的力量对他们来说并不意味着更多的乐趣(至少,没有足够的额外乐趣来支付额外费用.)

哪些应用程序太慢了?什么是需要的应用程序,目前太慢了?

我唯一能想到的是令人尴尬的可并行化(服务器,图形,物理建模,同时运行几个应用程序.)澄清:在我看来,多核很难被利用并不重要,除非有什么东西(1)并不是令人尴尬的可并行化; (1)需要更快.我要求这样的案件.

这是一个发明一些人们甚至不知道他们需要的新东西的机会,这在多核之前是不可行的.

背景:

你是如何利用多核的?

你关注多核吗?

请问,其中一个关闭者可以解释为什么这不是一个"真正的问题"吗?我认为是,我看不出有任何问题.是否有一个常见问题解答可以指导我在SO上哪些问题是"真实的"?谢谢.

hardware parallel-processing performance multicore

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

cffunction Access =

如果我使用access =“ remote”将cfselect绑定到cfc,那么我将失去拥有Init()构造函数的能力。

<cfselect name="CityID" bind="cfc:Components.City.View1({StateID})" value="CityID" display="CityName" bindonload="yes" />
Run Code Online (Sandbox Code Playgroud)

实例化组件时,我习惯于将数据源名称传递给Init函数,如下所示:

<cfcomponent>
<cffunction name="Init">
<cfargument name="DS">

<cfset Variables.Instance.DS = arguments.DS>
<cfreturn This>
</cffunction>

<cffunction name="View1">
<cfset var qry = "">

<cfquery name="qry" datasource="#Variables.Instance.DS.Datasource#">
SELECT *
FROM Table
</cfquery>
<cfreturn qry>
</cffunction>
</cfcomponent>
Run Code Online (Sandbox Code Playgroud)

coldfusion constructor function

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

如何在VIM中执行基于文件扩展名的操作?

如果文件是.rb扩展名,我按F5时我想在VIM中执行rubyf操作.现在我就是

map <F5> :rubyf % <CR>.
Run Code Online (Sandbox Code Playgroud)

但我也想解释方案文件,如果它的.scm或编译tex等使用相同的F5.如何检查文件扩展名并执行正确的绑定?你们如何在G/VIM中编译不同的文件?

vim

6
推荐指数
2
解决办法
3308
查看次数

编译器错误:带有可能不安全的参数的函数调用

得到了一些不是我的代码并且它产生了这个警告atm:

iehtmlwin.cpp(264) : warning C4996: 'std::basic_string<_Elem,_Traits,_Ax>::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::allocator<char>
        ]
        c:\program files (x86)\microsoft visual studio 8\vc\include\xstring(1680) : see declaration of 'std::basic_string<_Elem,_Traits,_Ax>::copy'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::allocator<char>
        ]
Run Code Online (Sandbox Code Playgroud)

这是有问题的代码:

HRESULT STDMETHODCALLTYPE Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead)
    { …
Run Code Online (Sandbox Code Playgroud)

c++ windows warnings visual-studio-2005

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

如何杀死MacOS中的进程?

我试过kill -9 698但过程没有死.

$ ps -ef | grep chromium
  502   698   811   0   0:01.24 ??         0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
  502   854   732   0   0:00.00 ttys001    0:00.00 grep chromium
$ kill -9 698


$ ps -ef | grep chromium
  502   698   811   0   0:01.24 ??         0:07.28 /Users/lucius/chromium/src/xcodebuild/Debug/Chromium.app/Contents/MacOS/Chromium
  502   854   732   0   0:00.00 ttys001    0:00.00 grep chromium
Run Code Online (Sandbox Code Playgroud)

macos

61
推荐指数
4
解决办法
11万
查看次数

为什么NSError需要双重间接?(指向指针的指针)

这个概念似乎给我带来了麻烦.为什么NSError对象需要将其指针传递给正在修改对象的方法?例如,不仅仅是传递对错误的引用做同样的事情吗?

NSError *anError;
[myObjc doStuff:withAnotherObj error:error];
Run Code Online (Sandbox Code Playgroud)

然后在doStuff中:

 - (void)doStuff:(id)withAnotherObjc error:(NSError *)error 
 {
    // something went bad!
    [error doSomethingToTheObject];
 }
Run Code Online (Sandbox Code Playgroud)

为什么上述工作不像大多数其他对象消息传递模式一样有效?为什么必须使用错误:(NSError**)错误?

c cocoa pointers objective-c

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