问题列表 - 第33461页

构造一个(某种程度上)复杂的对象

当我创建类时,简单的构造函数往往是常态.在我目前的一个项目,一个电影库,我有一个Movie域对象.它有许多属性,导致构造函数如下:

public Movie(string title, int year, Genre genre, int length, IEnumerable<string> actors)
{
    _title = title;
    _year = year;
    _genre = genre;
    _length = length;
    _actors = new List<string>(actors);
}
Run Code Online (Sandbox Code Playgroud)

这并不可怕,但也不简单.是否值得使用工厂方法(static Movie CreateMovie(...))或可能是对象构建器?是否有用于实例化域类的典型模式?

更新:感谢您的回复.我最初可能是在思考这个问题,尽管我已经学到了一些在更复杂的情况下会有用的东西.我现在的解决方案是将标题作为唯一必需的参数,其余的作为命名/可选参数.这似乎是构建此域对象的全面理想方式.

.net c# dns constructor

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

Android:整个ListView更改焦点上的颜色,而不仅仅是ListView子项

我正在尝试将选择器应用于ListView,以便那些没有触摸屏的人可以轻松浏览我的应用程序.问题是,通过将选择器应用于ListView,它似乎只将背景颜色应用于整个列表,而不是其中的项目.

有任何想法吗?这是一些代码:

    <ListView
   android:id="@android:id/list"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:listSelector="@drawable/listselector"
   />

   <TextView android:id="@android:id/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="There are no Clients yet."
        />
Run Code Online (Sandbox Code Playgroud)

drawable文件夹中的listselector.xml:

    <?xml version="1.0" encoding="utf-8"?>
<selector
    android:id="@+id/myselector"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Non focused states -->
    <item
        android:state_focused="false"
        android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@color/darkblue" />
    <item
        android:state_focused="false"
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@color/green" />

    <!-- Focused states -->
    <item
        android:state_focused="true"
        android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@color/green" />
    <item
        android:state_focused="true"
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@color/green" />

    <!-- Pressed -->
    <item
        android:state_pressed="true"
        android:drawable="@color/green" />
</selector>
Run Code Online (Sandbox Code Playgroud)

xml android

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

Python - TypeError:未绑定方法

所以这个Python问题一直给我带来问题,因为我已经尝试将代码重构为不同的文件.我有一个名为object.py的文件,其中相关的代码是:

class Object:
#this is a generic object: the player, a monster, an item, the stairs...
#it's always represented by a character on screen.
def __init__(self, x, y, char, color):
    self.x = x
    self.y = y
    self.char = char
    self.color = color

def move(self, dx, dy):
    #move by the given amount, if the destination is not blocked
    #if not map[self.x + dx][self.y + dy].blocked:
        self.x += dx
        self.y += dy
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试专门编译此文件时,我收到此错误:

TypeError: unbound method __init__() must be called with Object …
Run Code Online (Sandbox Code Playgroud)

python initialization attributeerror

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

使用来自SQL(SDF)数据库的项目填充WPF列表框

我一直在研究如何执行此操作很长时间,但是我一直未能就此问题获得直接的答案,因此希望您其中的StackOverflow用户能够在这里为我提供帮助。我有一个名为CategoryList的WPF ListBox和一个名为ProgramsList.sdf的SDF数据库(有两个名为CategoryList和ProgramsList的表)。我希望我的程序要做的是从CategoryList表中获取类别名称,并将其在名为CategoryList的ListBox控件中列出。

这是我尝试过的代码,但这只会导致程序崩溃。

    SqlConnection myConnection = new SqlConnection("Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "ProgramsList.sdf");
    SqlDataReader myReader = null;

    myConnection.Open();
    CategoryList.Items.Clear();
    SqlDataReader dr = new SqlCommand("SELECT Name FROM CategoryList ORDER BY Name DESC", myConnection).ExecuteReader();

    while (myReader.Read())
    {
        CategoryList.Items.Add(dr.GetInt32(0));
    }
    myConnection.Close();
Run Code Online (Sandbox Code Playgroud)

谁能帮我?提前致谢!

c# sql wpf listbox populate

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

Spring Framework:Map - 引用另一个Map的值

我有一张地图声明:

<!-- SOME MAP -->
<util:map id="someMap" map-class="java.util.HashMap" 
  key-type="java.lang.String" value-type="java.lang.String" >
     <entry key="0" value="SOME VALUE" />
 <entry key="1" value="SOME VALUE 2" />
 <entry key="default" value="SOME VALUE 3" />
</util:map>

<!-- SOME MAP REFERENCE -->
<util:map id="someMapRef" map-class="java.util.HashMap" 
  key-type="java.lang.String" value-type="java.util.HashMap" >
    <entry key="0" value ref = "someMap" />
    <entry key="default" value="SOME VALUE" />
</util:map>
Run Code Online (Sandbox Code Playgroud)

这有什么问题?有什么建议吗?

java spring

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

在matplotlib django的情节顶部的空白区域

我有一个关于matplotlib条的问题.我已经制作了一些条形图,但我不知道为什么,这个在顶部留下了一个巨大的空白区域.

代码类似于我制作的其他图形,他们没有这个问题.

如果有人有任何想法,我感谢你的帮助.

x = matplotlib.numpy.arange(0, max(total))
ind = matplotlib.numpy.arange(len(age_list))

ax.barh(ind, total)

ax.set_yticks(ind) 
ax.set_yticklabels(age_list)
Run Code Online (Sandbox Code Playgroud)

python django matplotlib

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

使用lambda而不是字符串属性名称选择模型属性

我正在构建一个类型的属性列表,以包含在该类型集合的导出中.我想这样做而不使用字符串作为属性名称.只有该类型的某些属性才会包含在列表中.我想做点什么:

exportPropertyList<JobCard>.Add(jc => jc.CompletionDate, "Date of Completion");
Run Code Online (Sandbox Code Playgroud)

我该如何实现这种通用的Add方法?顺便说一句,字符串是属性的描述.

.net linq generics lambda

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

Android广播接收器错误:未找到类异常

我有一个广播接收器设置,以便在每次升级我的应用程序后向用户显示弹出消息,或者如果这是第一次安装软件包.我在运行Android 2.2的Droid上测试了这个,作为全新安装和升级我的应用程序之后,以及运行1.5和1.6的模拟器,我看到一切运行正常.

但是,我收到了一个列出以下异常的用户的错误报告:

java.lang.RuntimeException: Unable to instantiate receiver 
com.name.pkg.FirstRunBroadcastReceiver: java.lang.ClassNotFoundException: com.name.pkg.app_name.FirstRunBroadcastReceiver in loader dalvik.system.PathClassLoader[/data/app/com.name.pkg.app_name.apk]
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2789)
at android.app.ActivityThread.access$3200(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.name.pkg.app_name.FirstRunBroadcastReceiver in loader dalvik.system.PathClassLoader[/data/app/com.name.pkg.app_name.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2780)
... 10 more
Run Code Online (Sandbox Code Playgroud)

有人能告诉我为什么我的一个用户收到了这个例外吗?

在我的清单文件中,我有这样的设置:

<receiver android:name=".FirstRunBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_REPLACE"/>
        <data android:scheme="package" android:path="com.name.pkg.app_name">
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

FirstRunBroadcastReceiver类设置如下:

package com.name.pkg.app_name;

public class FirstRunBroadcastReceiver extends BroadcastReceiver
{
    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

android exception broadcastreceiver

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

字符串以^ Bo开头

有人知道^Bo在编码字符串的开头是什么意思吗?字符串的其余部分是有效的ASCII.

示例:"^BoHello"应解释为"Hello"
注意:'^B'是控制字符0x02

c# c++ java string ascii

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

R向量/数据帧中的基本滞后

很可能会暴露我是R的新手,但在SPSS中,运行滞后非常容易.显然这是用户错误,但我缺少什么?

x <- sample(c(1:9), 10, replace = T)
y <- lag(x, 1)
ds <- cbind(x, y)
ds
Run Code Online (Sandbox Code Playgroud)

结果是:

      x y
 [1,] 4 4
 [2,] 6 6
 [3,] 3 3
 [4,] 4 4
 [5,] 3 3
 [6,] 5 5
 [7,] 8 8
 [8,] 9 9
 [9,] 3 3
[10,] 7 7
Run Code Online (Sandbox Code Playgroud)

我想我会看到:

     x y
 [1,] 4 
 [2,] 6 4
 [3,] 3 6
 [4,] 4 3
 [5,] 3 4
 [6,] 5 3
 [7,] 8 5
 [8,] 9 8
 [9,] 3 9
[10,] …
Run Code Online (Sandbox Code Playgroud)

r time-series zoo xts

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