问题列表 - 第35269页

如何在可能是NHibernate代理对象的对象上获取实体类型?

我有一个基类DomainObject用于我在NHibernate中使用的所有业务对象.它包含该Id属性.

public abstract class DomainObject
{
    public virtual int Id { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

我想写一个IEqualityComparer比较我的域对象.如果两个对象具有相同Id且对象类型相同,则它们应该相等.但是当我GetType()用来获取对象的类型时,它将返回NHibernate代理类型.所以这段代码:

bool IEqualityComparer.Equals(object x, object y)
{
    // null checking code skipped here
    if(x is DomainObject && y is DomainObject)
    {
            return ((DomainObject) x).Id == ((DomainObject) y).Id
                    && x.GetType() == y.GetType();
    }
    return x.Equals(y);
}
Run Code Online (Sandbox Code Playgroud)

不能正常工作,因为类型x is Asset而且类型y is AssetProxy21879bba3e9e47edbbdc2a546445c657.

那么,如何在可能是NHibernate代理对象的对象上获取实体类型?即在上面的例子Asset而不是AssetProxy21879bba3e9e47edbbdc2a546445c657

nhibernate

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

Python Reportlab PDF - 在页面上居中文本

我正在使用ReportLab使用python动态生成pdf.

我想在页面上居中一行文字.这是我目前的具体代码,但不知道如何水平居中文本.

header = p.beginText(190, 740)
header.textOut("Title of Page Here")

# I know i can use TextLine etc in place of textOut

p.drawText(header)
Run Code Online (Sandbox Code Playgroud)

文本显示,我可以手动移动左侧位置,使文本看起来居中,但我需要以编程方式居中,因为文本将是动态的,我不知道将有多少文本.

python pdf-generation reportlab

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

试图在python代码中使用我的子网地址

我正在尝试将我的ip子网地址(192.168.1.xxx)放入我的python代码中.我正在运行linux/osx.我该怎么做/最好的方法是什么?

python linux networking

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

是否有Visual Studio的Perl扩展?

有没有人知道是否有Visual Studio(任何版本)的扩展或插件会识别Perl语法高亮?我想在我的vs项目中编辑Perl文件,但有时候很难阅读.谢谢.

perl visual-studio

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

有没有一种解析C#3.0代码的好方法?

我一直在寻找一个免费的(如"免费啤酒")库,可以解析C#3.0代码(实际上,C#2.0与lambdas会这样做)并为个人项目返回某种AST /代码DOM.但是,到目前为止我看到的大多数替代方案都不充分:

所以...那里有一个免费的,有效的C#3.0解析器,可以插入另一个项目吗?

c# c#-3.0

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

如何确定Broadcast Intent的发送者

我有一个应用程序,同时是标准动作android.intent.action.SET_WALLPAPER的广播发送者和接收者.我只想在另一个应用程序广播此意图的情况下做一些事情.

有没有办法确定谁在BroadcastReceiver的onReceive方法中发起广播?

android broadcast broadcastreceiver android-intent

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

这个PHP函数返回什么?

public function add($ child){return $ this-> children [] = $ child; }

顺便说一句,这是Dagfinn Reiersol的PHP in Action的摘录.根据这本书,这会返回$ child,但是如果成功分配则不应该返回true,否则返回false?

提前致谢

php function return-value associativity

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

在创建与SQLite数据库交互的方法/活动时,我应该多么小心使用线程安全性?

我正在创建一个应用程序,允许Activities从a TabActivity(最多~25)启动许多不同的应用程序.大多数活动都需要来自sqlite数据库的数据,因此在onCreate运行时,AsyncTask会创建一个SQLiteOpenHelper对象(它将打开一个可读/可写的数据库),运行查询,检索数据,然后关闭所有内容.

我只是在考验插科打诨,看看我能打破一些东西,所以我说每ActivityTabActivity's TabHost.然后我开始尽快将每个标签混合.

我注意到很快我就开始在LogCat中看到了:Caused by: android.database.sqlite.SQLiteException: database is locked: BEGIN EXCLUSIVE;应用程序继续死亡.

通常情况下,只有大约4-6个标签(我可以只限制用户)TabHost.我无法通过少量标签来破坏任何东西,但我仍然担心我可能会以糟糕的方式访问数据库.

如何防止我的SQLiteDatabase对象导致锁定?

如果我创建一个ContentProvider遗嘱,消除数据库锁定的可能性?

您是否有任何关于我可以为从中访问数据所做的更改的建议SQLiteDatabase

我最终采用了使用Application该类并存储1 的方法,SQLiteOpenHelper并尽力使其保持同步.这似乎工作得很好 - 我把我所有的25个活动都放进TabHost去并且没有任何错误.

我在我的((SQLiteDbApplication)getApplication()).setDbHelper(new DBHelper(this, Constants.DB_NAME, null, Constants.DB_VERSION_CODE));每个onCreate()活动中都在调用方法(如下所示)

对此方法或使用此类所做的更改的任何进一步建议Application

import android.app.Application;
import android.database.sqlite.SQLiteDatabase;

public class SQLiteDbApplication extends Application {
    private DBHelper dbHelper;
    private SQLiteDatabase db;
    public synchronized DBHelper getDbHelper() {
        db = …
Run Code Online (Sandbox Code Playgroud)

sqlite android

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

使用ItemizedOverlay导致崩溃的问题

我已经尝试了几个小时来弄清楚为什么在将它添加到地图的ovelays之前我不能使用Itemized Map叠加而不这样做:

GeoPoint point; OverlayItem overlayitem = new OverlayItem(point, "",""); MarkerOverlay.addOverlay(overlayitem);

如果我尝试在没有MarkerOverlay.addOverlay(overlayitem);命令的情况下执行此操作,那么当我尝试添加新的overLay时,如下所示:

public boolean onTap(GeoPoint point, MapView mapView)
{
    if (mOverlays.size() > 0)
        mOverlays.remove(0);
    OverlayItem overlayitem = new OverlayItem(point, "", "");
    mOverlays.add(overlay);
    populate();
    return true;
}
Run Code Online (Sandbox Code Playgroud)

在我的ItemizedOverlay类中,然后我得到一个空的引用exeption(我不知道何时或为什么 - 它说它在调试时没有可用的源代码)

有任何想法吗?

编辑:这是我在logcat中可以找到的:

09-20 22:36:22.164: WARN/dalvikvm(311): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
Run Code Online (Sandbox Code Playgroud)

这就是我认为臭名昭着的例外:

   09-20 22:36:22.293: ERROR/AndroidRuntime(311): java.lang.NullPointerException
09-20 22:36:22.293: ERROR/AndroidRuntime(311):     at com.google.android.maps.ItemizedOverlay.getItemsAtLocation(ItemizedOverlay.java:617)
09-20 22:36:22.293: ERROR/AndroidRuntime(311):     at com.google.android.maps.ItemizedOverlay.getItemAtLocation(ItemizedOverlay.java:586)
09-20 22:36:22.293: ERROR/AndroidRuntime(311):     at com.google.android.maps.ItemizedOverlay.handleMotionEvent(ItemizedOverlay.java:498)
09-20 22:36:22.293: ERROR/AndroidRuntime(311):     at com.google.android.maps.ItemizedOverlay.onTouchEvent(ItemizedOverlay.java:572)
09-20 22:36:22.293: …
Run Code Online (Sandbox Code Playgroud)

android

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

将点列表排序为多边形

我有一套积分.这组点确定了一个(非凸)多边形,但它没有排序.

由于它没有订购,我不能只是从点到点绘制它的边界.如何以一种我可以遍历此点列表并绘制多边形的方式对其进行排序?

我的第一个想法是使用凸壳,但我的多边形大多数时候是凹的.

math polygon computational-geometry

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