我有一个我正在编写的方法,它使用反射来列出类的静态属性,但我只对那些特定类型的方法感兴趣(在我的例子中,属性必须是从DataTable派生的类型).我想要的是类似下面的if()语句(目前总是返回true):
PropertyInfo[] properties = ( typeof(MyType) ).GetProperties( BindingFlags.Public
| BindingFlags.Static );
foreach( PropertyInfo propertyInfo in properties ) {
if( !( propertyInfo.PropertyType is DataTable ) )
continue;
//business code here
}
Run Code Online (Sandbox Code Playgroud)
谢谢,我很难过.
我正在构建/存档我的Mac应用程序以便从命令行调用(下面)进行分发,并安装了Xcode 4.3.为了清楚起见,我之前没有为Xcode 4.3提供解决此问题的工作解决方案,因此对早期Xcode版本的建议很容易仍然有效.这是电话:
/usr/bin/xcodebuild -project "ProjectPath/Project.pbxproj" -scheme "Project" -sdk macosx10.7 archive
Run Code Online (Sandbox Code Playgroud)
这成功运行,它生成一个.xcarchive位于我的~/Library/Developer/Xcode/Archives/<date>文件夹中的文件.获取存档文件生成路径的正确方法是什么?我正在寻找一种方法来获取.app其中包含的文件的路径,因此我可以分发它.
我已经查看了MAN页面xcodebuild(并在网上进行了大量搜索)并且没有找到任何线索.
假设我正在使用第三方库中的多个类,所有这些类都包含一个int ID {get;}属性.例如:
class A {
...
int ID {get;}
...
}
class B {
...
int ID {get;}
...
}
Run Code Online (Sandbox Code Playgroud)
ID 我需要在我正在编写的方法中使用的唯一属性,它需要引用A或B.我已经声明了一个接口:
interface IHasID
{
int ID {get;}
}
Run Code Online (Sandbox Code Playgroud)
但我不能把两种A或B作为IHasID叫我的方法时.
例如,在Swift中,我可以声明一个符合"协议"(Swift的接口版本)的扩展.我没有看到用C#做到这一点的方法.引用共享属性的不相关类的最接近方式是什么?
完全重写
我现在重现了我之前在一个简单的示例项目中发布的问题,所以我完全不知道我可能做错了什么.这就是我现在正在做的事情.
用以下内容替换MyImageView.m的内容:
@interface MyImageView :NSImageView {} @end
@implementation MyImageView
- (void)mouseDown:(NSEvent *)event {
NSLog( @"mouse down event: %@", event );
NSPoint point = [event locationInWindow];
NSLog( @"mouseDown location: (%d,%d)", point.x, point.y );
}
@end
Run Code Online (Sandbox Code Playgroud)在Interface Builder中打开MainMenu.xib
MyImageView然后我在控制台上看到以下消息:
2011-01-01 13:58:12.351 TestApp[1167:903] mouse down event: NSEvent: type=LMouseDown loc=(237,242) time=2033.7 flags=0x100 win=0x0 winNum=573 ctxt=0x0 evNum=286 click=1 buttonNumber=0 pressure=1
2011-01-01 13:58:12.353 TestApp[1167:903] mouseDown location: (-2057547688,16)
为什么NSEvent的字符串表示中的"loc"是正确的,但-locationInWindow显然是错误的?我怎么可能会导致这些琐碎的代码错误?
我已经重新启动了我的系统以防可能有所帮助.
c# ×2
macos ×2
build ×1
cocoa ×1
command-line ×1
events ×1
interface ×1
mouse ×1
objective-c ×1
properties ×1
reflection ×1
static ×1
types ×1
xcode4 ×1