小编Dr.*_*ing的帖子

有没有办法在C#中获取内部类的列表?

根据标题.我想要一个给定类的所有内部类的列表,它可以是一个名称列表或一个类型列表 - 我不感兴趣.这可能吗?我认为可能有一种方法使用反射但是却找不到反射.

非常感谢,托马斯

.net c# reflection inner-classes

26
推荐指数
3
解决办法
9717
查看次数

如果您无法在Haskell中更改变量的值,那么如何创建数据结构?

根据标题.

我有以下代码创建二叉搜索树,但如果我想用用户输入动态创建和更改,如果我不能在haskell中更改变量的值,我该怎么做?!?

find :: (Ord a) => Node a -> a -> Bool
find (Node val left right) s
    | s == val      = True
    | s < val       = find left s
    | s > val       = find right s

find Empty s = False

data Node a = Node a (Node a) (Node a)
              | Empty

myTree = Node "m"   (Node "a" Empty Empty)
                    (Node "z" Empty Empty)
Run Code Online (Sandbox Code Playgroud)

提前致谢!

variables haskell constants data-structures

12
推荐指数
2
解决办法
6161
查看次数

Java致命错误,不知道是什么意思

它发生在我的代码中的同一个地方(虽然不是第一次执行该方法)但我无法做出错误的头或尾.(因此它是机器人的代码).

如果有人可以让我知道它是什么类型的问题,那么最感激.我认为它与线程(多线程应用程序)有关,但我真的不知道是什么?!?担心uni项目的截止日期迫在眉睫!

消息:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xb70f0ca7, pid=5065, tid=2145643376
#
# JRE version: 6.0_15-b03
# Java VM: Java HotSpot(TM) Server VM (14.1-b02 mixed mode linux-x86 )
# Problematic frame:
# V  [libjvm.so+0x4c9ca7]
#
# An error report file with more information is saved as:
# /home/thomas/workspace/sir13/hs_err_pid5065.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

日志:

#
# …

java crash multithreading

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

Java:停止运行时间过长的线程?

说我有这样的事情

public void run(){
    Thread behaviourThread = new Thread(abstractBehaviours[i]);
    behaviourThread.start();
}
Run Code Online (Sandbox Code Playgroud)

我想等到abstractBehaviours [i] run方法已经完成或运行5000毫秒.我怎么做?behaviourThread.join(5000)似乎没有这样做afaik(我的代码有问题,我已经把它归结为那个).

所有抽象的abstractBehaviour类当然都是Runnable.我不想在每个run方法中实现它,因为它看起来很难看并且有很多不同的行为,我宁愿在调用/执行线程中使用它并且只执行一次.

解决方案?第一次做这样的线程.谢谢!

编辑:因此中断解决方案将是理想的(需要对AbstractBehaviour实现进行最小的更改).但我需要线程停止,如果它已经完成或已经过了5000毫秒,所以类似下面的东西将无法工作,因为线程可能在父线程中的while循环之前完成.合理?任何解决这个问题的方法,我都很乐意从明显启动线程的线程中做到这一点.

long startTime = System.currentTimeMillis();
behaviourThread.start();
while(!System.currentTimeMilis - startTime < 5000);
behaviourThread.interrupt();
try {
    behaviourThread.join();
} catch (InterruptedException e1) {
    e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

编辑:nevermind我看到有一个Thread.isAlive()方法,我认为都解决了

java multithreading

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

如何在vba中打开工作表?

可笑的是,以下代码仅在实际在excel窗口中选择了工作表的情况下才有效。我真的很想尽快完成此宏,但似乎无法找出如何选择特定的工作表,以便在excel中打开它?如果有人知道,非常感谢。我必须使用范围等。

sheet.Range(Cells(firstRow, 2).Address(False, False), Cells(lastRow, 50)).Select
With Selection
    .Copy
End With
sheet.Range(Cells(firstRow, 3).Address(False, False), Cells(lastRow, 51)).Select
With Selection
    .PasteSpecial xlPasteValuesAndNumberFormats
End With
Run Code Online (Sandbox Code Playgroud)

vba worksheet

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

Haskell:我如何定义我的函数可以作为参数的类型?以及如何在数据结构中访问未命名的变量?

1)这是我的代码,find函数需要将(节点a)和类型(a)作为参数,但我的函数定义似乎不起作用,我做错了什么?我能找到的网上信息很少,所以感谢您的帮助!

2)当我的find函数实现时,我需要访问Node中的特定变量,我该怎么做?!?

-- int for comparisons
find :: (Node a) => Node a -> a -> Bool
find n s
| s == "asd" = True
| s /= "asd" = False

data Node a = Node a (Node a) (Node a)
| Empty

myTree = Node "parent" (Node "left" Empty Empty)
(Node "right" Empty Empty)
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息:

Type constructor `Node' used as a class
In the type `(Node a) => Node a -> a -> Bool'
In the type signature …
Run Code Online (Sandbox Code Playgroud)

haskell function

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