问题列表 - 第4554页

如何确定类型是否实现特定的通用接口类型

假设以下类型定义:

public interface IFoo<T> : IBar<T> {}
public class Foo<T> : IFoo<T> {}
Run Code Online (Sandbox Code Playgroud)

当只有受损的类型可用时,如何确定类型是否Foo实现了通用接口IBar<T>

.net c# reflection

211
推荐指数
7
解决办法
8万
查看次数

从Grails中的布局视图访问模型

我在Grails中使用布局支持(sitemesh)工作正常.我想调整我的布局,使其取决于用户是否登录.

我的grails-app/views/layouts/main.gsp包含以下代码:

<g:if test="${user}">
  Username: ${user.username}
</g:if>
Run Code Online (Sandbox Code Playgroud)

但是,看起来好像layout-GSP:s无法访问模型,因此无法访问用户变量(尝试时我得到"No session"异常).制作布局的推荐方法取决于用户是否登录?

提前致谢!

model-view-controller grails sitemesh

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

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

删除临时目录

我有这个代码,

showmessage('C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID);
if removedir('C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID) then
  showmessage('Removed')
else
  showmessage('Failed');
Run Code Online (Sandbox Code Playgroud)

消息显示C:\TEMP\0并且该目录确实存在,因为程序先前创建它并使用其中的文件然后删除它们.我可以看到文件和目录,所以我知道他们在那里.程序成功删除文件但不删除目录.

如果我对其工作的目录进行硬编码 - 这意味着它接受字符串 C:\TEMP\0但不接受C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID两者等同于C:\TEMP\0.我无法对这些目录进行硬编码,所以我该怎么办?如何从字符串+字符串转换removedir()为期望的字符串.我仔细研究了Delphi的基础知识,并期待一个字符串.

我很困惑,因为string + string = string.到底是怎么回事?

delphi directory

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

file_get_contents()使用的内存在未分配给变量时是否会被释放?

当我使用file_get_contents并将其作为参数传递给另一个函数而不将其分配给变量时,是否在脚本执行完成之前释放了该内存?

例如:

preg_match($pattern, file_get_contents('http://domain.tld/path/to/file.ext'), $matches);
Run Code Online (Sandbox Code Playgroud)

file_get_contents使用的内存是否会在脚本完成之前释放?

php memory-consumption

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

在不使用System.Windows.Input.ICommand的情况下在WPF中实现MVVM

我正在尝试使用MVVM(Model-View-ViewModel)模式实现WPF应用程序,并且我希望View部件位于Model和ViewModel部件(DLL)的单独程序集(EXE)中.

这里的转折是保持Model/ViewModel程序集清除任何WPF依赖项.这样做的原因是我想从具有不同(非WPF)UI技术的可执行文件中重用它,例如Mono下的WinForms或GTK#.

默认情况下,无法执行此操作,因为ViewModel公开了一个或多个ICommands.但ICommand类型是在System.Windows.Input命名空间中定义的,该命名空间属于WPF!

那么,有没有办法在不使用ICommand的情况下满足WPF绑定机制?

谢谢!

wpf mvvm

8
推荐指数
3
解决办法
6591
查看次数

如何在ASP.Net中设计公共API?

我目前正在使用SQL Server在ASP.Net中开发一个Web应用程序,我希望有一些公共API,以便我的用户可以获取他们的数据并按照自己的意愿操作它.

我从来没有做过这样的事情,你能推荐一些让我遵循的指导方针吗?

c# asp.net api

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

在线文本编辑器如何工作?

我正在尝试开发一个在线编辑器(如FCKEditor/etc),但我不知道它们是如何工作的.我知道WYSIWYG的有Javascript和IFrame,但它们实际上如何工作?

我特别好奇能够实时预览编辑器中输入的内容.

javascript wysiwyg fckeditor editor

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

在C#中验证readline输入的最佳方法是什么?

哦,2件事:1)这是一个控制台应用程序.2)我知道它是丹麦语,但它并不重要,它只是一个要求输入的例子.文本和变量无关紧要.

好吧,考虑一下这个简单的输入:它可能是任何类型的输入问题.

Console.WriteLine("Hvad er dit kundenummer: (Kun hele tal tilladt)");
string inputKnr = Console.ReadLine();
kundenummer = Convert.ToInt16(inputKnr);
Run Code Online (Sandbox Code Playgroud)

现在,如果客户输错了怎么办?比如一封信.try&catch会确保应用程序不会中断,但这不是我想要的解决方案.我希望它说你做错了,再试一次.很经典吧?

但是解决这个解决方案的最佳方法是什么?我想到了这个:

bool fangetKundenummer = true;
while (fangetKundenummer)
{
Console.WriteLine("Hvad er dit kundenummer: (Kun hele tal tilladt)");
string inputKnr = Console.ReadLine();
try
{
    kundenummer = Convert.ToInt16(inputKnr);
    fangetKundenummer = false;
}
catch
{
    Console.WriteLine("Fejl. Prøv igen");
}
}
Run Code Online (Sandbox Code Playgroud)

但它似乎不是正确的方法.

另外,仅举几例,我正在玩的这个小应用程序连续4个输入问题.这意味着这个令人讨厌的while()循环的4倍.

你也可以写一个函数.像这样的东西(没有理由以正确的方式去做,它只是为了说明一个概念):

static void verifyInput()
{
    try
    {
        Console.WriteLine("question");
        input = Console.ReadLine();
        kundenummer = Convert.ToInt16(input)
    }
    catch
    {
        Console.WriteLine("Wrong. Do it …
Run Code Online (Sandbox Code Playgroud)

c# verify readline

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

'Emgu.CV.CvInvoke'的类型初始值设定项引发了异常

如果有人在.net 3.5框架中使用Emgu openCv包装器,请告诉我为什么会出现此异常,其内部异常无法加载cxcore.dll.

c# emgucv

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