问题列表 - 第49579页

无法将GetTypes()强制转换为接口

我正在扫描特定的命名空间以查找实现接口的类型,并尝试将它们作为该接口返回而不仅仅是Type,但我得到的是InvalidCastException

IEnumerable<IGameScript> GetDemos()
{
    var results = Assembly.GetExecutingAssembly().GetTypes()
        .Where(
        x => x.IsClass 
        && x.Namespace == "MMOClass.CodeBase.Demos" 
        && x.Name.Contains("Demo") 
        && x.GetInterfaces().Contains(typeof(IGameScript))
        ).Select(x => x);

    return results.Cast<IGameScript>();
}
Run Code Online (Sandbox Code Playgroud)

更新以回应里德的回答:

IEnumerable<IGameScript> GetDemos()
{
    var results = Assembly.GetExecutingAssembly().GetTypes()
        .Where(
        x => x.IsClass 
        && x.Namespace == "MMOClass.CodeBase.Demos" 
        && x.Name.Contains("Demo") 
        && x.GetInterfaces().Contains(typeof(IGameScript))
        ).Select(x => Activator.CreateInstance(x) as IGameScript);

    return results;
}
Run Code Online (Sandbox Code Playgroud)

c# reflection

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

P/Invoke问题(不平衡堆栈)

我正在尝试使用P/Invoke为本机c ++ .dll创建一个包装器.

.dll的源代码具有以下指定的入口点:

// .h-file
CHROMAPRINT_API ChromaprintContext *chromaprint_new(int algorithm);
Run Code Online (Sandbox Code Playgroud)

方法实现:

// .cpp-file
ChromaprintContext *chromaprint_new(int algorithm)
{
    ChromaprintContextPrivate *ctx = new ChromaprintContextPrivate();
    ctx->algorithm = algorithm;
    ctx->fingerprinter = new Fingerprinter(CreateFingerprinterConfiguration(algorithm));
    return (ChromaprintContext *)ctx;
}
Run Code Online (Sandbox Code Playgroud)

ChromaprintContextPrivate类型是一个结构:

>// .cpp-file
struct ChromaprintContextPrivate {
    int algorithm;
    Fingerprinter *fingerprinter;
    vector<int32_t> fingerprint;
};
Run Code Online (Sandbox Code Playgroud)

我的C#包装器代码:

// .cs-file
[System.Runtime.InteropServices.DllImportAttribute(
  "libchromaprint.dll", 
  EntryPoint = "chromaprint_new")]
private static extern System.IntPtr chromaprint_new(int algorithm);

public static IntPtr Chromaprint_New(ChromaprintAlgorithm algorithm)
{
    // Hardcoded parameter for testing
    return chromaprint_new(0); // (int)algorithm
}
Run Code Online (Sandbox Code Playgroud)

调用IntPtr ptr = …

c# c++ pinvoke

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

如何将mongodb与casbah的连接汇集在一起​​?

我正在使用带有scala驱动程序的mongodb casbah.如果我不理解错误,它不提供连接池.是否有任何用于casbah的池库,例如dbcp/ c3p0用于jdbc连接?

scala connection-pooling mongodb casbah

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

Drupal6 - 从术语名称获取术语ID


假设我有一个名为"product"的术语名称,术语id是"123",我如何使用术语名称"product"来获得术语id"123"?

谢谢

drupal drupal-6 drupal-taxonomy

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

如何将MySQL数据库更改为UTC?

我在Windows 7上,我对这个数据库的东西有点新鲜.我尝试在Google上搜索如何将时区从我的系统更改为UTC,但文档有些先进,我不太确定如何更改此字段.

mysql sql timezone utc

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

限制CGAffineTransform规模

我正在使用CGAffineTransformMake转换视图.它旋转,缩放和翻译.这很好用.但我无法找到一种方法将规模限制到最大尺寸.

如果超出比例,我仍然需要应用当前的旋转和平移.

任何建议都非常感谢!

资源:

UITouch *touch1 = [sortedTouches objectAtIndex:0];
UITouch *touch2 = [sortedTouches objectAtIndex:1];

CGPoint beginPoint1 = *(CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch1);
CGPoint currentPoint1 = [touch1 locationInView:self.superview];
CGPoint beginPoint2 = *(CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch2);
CGPoint currentPoint2 = [touch2 locationInView:self.superview];

double layerX = self.center.x;
double layerY = self.center.y;

double x1 = beginPoint1.x - layerX;
double y1 = beginPoint1.y - layerY;
double x2 = beginPoint2.x - layerX;
double y2 = beginPoint2.y - layerY;
double x3 = currentPoint1.x - layerX;
double y3 = currentPoint1.y - layerY; …
Run Code Online (Sandbox Code Playgroud)

iphone scale multi-touch uitouch cgaffinetransform

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

在IE中通过ajax加载的局部视图中未定义jquery

我有一个包含JQuery UI Tabs小部件的网页.Tab小部件通过AJAX加载选项卡.在其中一个标签页(将其命名为DescriptionPage)中,我有一个将通过ajaxForm插件提交的表单.

<div id="tabs">
    <ul>
        <li>
           <a href="DescriptionPage">Description Page</a>
        </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的DescriptionPage的内容.

<form id="myForm">
  <!-- Form elements goes here -->
</form>

<script>
  $(function(){
    $('#myForm').ajaxForm(function (response) {
      $('#myForm').parent().empty().append(response);
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

提交表单后,将返回相同的DescriptionPage,包括表单和脚本.因此,表单内容将替换为服务器端的响应.响应还包含验证消息.

问题是,整个场景在Chrome和Firefox中运行良好.但在Internet Explorer 8中,会出现一个奇怪的问题.

首次加载选项卡时,javascript成功执行.当用户提交表单并且放置响应时,IE无法执行我的javascript,说"JQuery未定义".

为什么IE无法在通过ajax加载的内容中调用JQuery?有解决方法吗?

PS:我想从html中分离脚本,但它根本不是一个选项:(

P.S2:由于愚蠢的IE,我的javascript和CSS文件变得一团糟.

ajax jquery jquery-ui-tabs ajaxform

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

在R中导入多个文本文件,并从预定列表中分配它们的名称

我刚刚开始使用R而我在执行以下任务时遇到问题:我在工作目录中的单独纯文本文件中有大约130个语言示例.我想做的是使用扫描导入它们并保留它们的文件名.具体来说,我想做的是使用以下内容:

Patient01.txt <-scan("./Patient01.txt", what = "character")
Patient02.txt <-scan("./Patient02.txt", what = "character")
...
Patient130.txt <-scan("./Patient130.txt", what = "character")
Run Code Online (Sandbox Code Playgroud)

有没有办法使用*apply等命令来自动化该过程?

import text r

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

JAVA_HOME和maven依赖项的奇怪问题

我将JAVA_HOME变量设置为C:\Program Files\Java\jre6\当我在项目上运行maven包时它告诉我它无法解析依赖项

[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (default) on project roo: Execution default of goal o
rg.codehaus.mojo:aspectj-maven-plugin:1.0:compile failed: Plugin org.codehaus.mojo:aspectj-maven-plugin:1.0 or one of its dependencies
could not be resolved: Could not find artifact com.sun:tools:jar:1.4.2 at specified path C:\Program Files\Java\jre6/../lib/tools.jar ->
[Help 1]
Run Code Online (Sandbox Code Playgroud)

所以它假设JAVA_HOME实际上比实际更深一层,我查看了maven本地存储库并发现log4j 1.2.16使用了这个依赖

我试着让JAVA_HOME看起来像C:\Program Files\Java\jre6\bin\然后maven不会运行,它告诉我我的JAVA_HOME路径错了

maven-2 java-home

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

Postgres - Sql - PgSql Cheatsheets

我正在使用psycopg开发一些python查询,我正在寻找一些好的备忘单.

你在DB开发过程中经常使用哪些Postgres - Sql - PgSql Cheatsheets?

python sql postgresql psycopg2

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