小编Blu*_*nce的帖子

为什么没有ICloneable <T>?

是否存在通用ICloneable<T>不存在的特殊原因?

如果我不想在每次克隆东西时都需要施放它,那会更舒服.

.net c# icloneable

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

MethodInfo.Invoke with out Parameter

我尝试做的示例代码肯定会比我的英文做得更好:

public bool IsNumericValueInBounds (string value, Type numericType)
{
  double d = double.NaN;     

  bool inBounds = (bool)numericType.GetMethod ("TryParse").Invoke (null, new object[] { value, d });

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

不幸的是,TryParse方法需要一个out参数,所以这不起作用.任何想法如何解决这个问题?

(ps:这不是鸭子打字的一个很好的例子吗? - 因为我知道每个numericType都有一个"TryParse"或者我错了?)

c#

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

获取类型的所有派生类型

是否有更好的(更高性能或更好的代码;)方法来查找类型的所有派生类型?目前即时使用以下内容:

  1. 获取所用类型的所有类型
  2. 如果是'IsAssignable',请检查所有类型的类型

我想知道是否有更好的方式来做这件事?

.net c#

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

将多个数组聚合为一个数组(Linq)

我在将多个数组聚合成一个"大数组"时遇到了麻烦,我认为这应该可以在Linq中实现,但我无法理解它:(

考虑一些返回一些dummyObject数组的方法

public class DummyObjectReceiver 
{
  public DummyObject[] GetDummyObjects  { -snip- }
}
Run Code Online (Sandbox Code Playgroud)

现在某处我有这个:

public class Temp
{
  public List<DummyObjectReceiver> { get; set; }

  public DummyObject[] GetAllDummyObjects ()
  {
    //here's where I'm struggling (in linq) - no problem doing it using foreach'es... ;)
  }
}
Run Code Online (Sandbox Code Playgroud)

希望我有点清楚我想要实现的目标(因为额外的我想通过DummyObject有一个int值来命令这个数组...... - 但是orderby应该没问题,...我希望;)

.net linq c#-3.0

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

如何应对那些破坏人们的TDD?

就个人而言,我更喜欢单元测试,并将其编写为"良好"的覆盖范围.(假设我尽可能努力地写出好的测试;)

像往常一段时间后,有些人需要在代码中添加一些功能(向类中添加方法等).他没有打破那些书面单元测试,但拒绝写额外的(这将涵盖他编写的代码的其他功能).这导致了tdd过程中的一个大漏洞(更糟糕的是可能是一个破窗口效应)

我能做些什么来让他写下那些测试?你是如何与这些人打交道的?

tdd

5
推荐指数
3
解决办法
546
查看次数

底层对象空数组的类型

HEJ,

假设我有一个看起来像这样的代码:

List<User> userList = GetUserByName (u => u.Name == name);
DoSomethingWithTheUsers (userList.ToArray ());
Run Code Online (Sandbox Code Playgroud)

现在我想知道方法DoSomethingWithTheUsers(object [] myObjects)中 Array中对象的类型

简单地通过myObjects.First().GetType()完成,但是如果数组为空则要做什么?是否有可能仍然获得类型?

c# reflection

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

标签 统计

c# ×4

.net ×3

c#-3.0 ×1

icloneable ×1

linq ×1

reflection ×1

tdd ×1