小编Pau*_*tin的帖子

针对类型安全数据绑定缺少C#中"nameof"运算符的解决方法?

nameof在C#中包含运算符的情绪很多.作为此运算符如何工作的示例,nameof(Customer.Name)将返回字符串"Name".

我有一个域对象.我必须绑定它.然后我需要属性的名称作为字符串.我希望它们是类型安全的.

我记得在.NET 3.5中遇到过一种解决方法,它提供了nameoflambda表达式的功能和涉及的lambda表达式.但是,我无法找到此解决方法.任何人都可以为我提供这种解决方法吗?

我也对nameof如果可能的话在.NET 2.0中实现功能的方法感兴趣.

.net c# data-binding .net-3.5 .net-2.0

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

23
推荐指数
2
解决办法
4720
查看次数

如何在一个好的但多重继承的截肢语言如C#中解决"Must be MarshalByRefObject"?

如何在一个好的但多重继承的截肢语言如C#中解决"Must be MarshalByRefObject"?

问题非常简单,在某些情况下,您只需继承此类(基础结构要求).这在哪种情况下并不重要.那么,如果你已经从其他一些类(你的域模型要求)继承了,你会怎么做?

顺便说一句好的应用程序框架,就像spring.net一样,无论你需要在什么类型的基础架构中应用你的类,都要确保你不必继承这个类.

我想知道我在这里得到什么-3票?:)

c# multiple-inheritance marshalbyrefobject

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

关于集成测试的好书或其他资源?

有足够的关于如何进行单元测试的书籍.

你知道有关集成测试的任何好书(或其他好资源)吗?

我特别感兴趣的是

  • 定义范围(单元测试<集成测试<自动功能.测试
  • 什么是好的和坏的集成测试
  • 数据访问
  • 服务层
  • 组态
  • 用于集成测试的弹簧或其他DI容器
  • ...

integration-testing automated-tests

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

Nullable <T>:和重载运算符,bool?&bool

  1. 为什么运算符'&'为bool定义?,运算符'&&'不是?
  2. 这个怎么样?)bool?&bool?和2)布尔?和布尔工作?

Nullable上任何其他"有趣"的运算符语义?通用T的任何重载运算符?

c# nullable

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

C# - 如何确保我的所有结构都已初始化?

我正在用C#编写一个应用程序,它将进行大量计算.一切都围绕着基本的结构 - 价值.它基本上是一些额外的参数(精度等)的两倍.它必须是一个结构,因为将创建太多的它们来提供堆分配.现在,我需要确保它们都已正确初始化.我不能声明默认的显式构造函数,虽然我提供了默认构造函数,它使用0初始化所有内容,这在我的域中没有意义.

并且没有办法拒绝创建一个实例而不用参数调用我的构造函数...?

基本上我需要的是这个测试通过:

[Test]
public void HowDoesThisStructureInitializeByDefault()
{
   Value v = new Value(); - if this did not compile - it would have been ok!

   Assert.AreEqual(0, v.Val); - passes
   Assert.AreEqual(-1, v.Accuracy); - fails
}
Run Code Online (Sandbox Code Playgroud)

如果没有显式调用构造函数并且仍然访问结构,则抛出异常是可以的,但是检查所有时间都需要花费太多时间.

我现在几乎失去了希望,请帮忙!

c# struct value-type

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

让QualComm编码器通过MediaCodec API工作

我正在尝试使用Android MediaCodec API对NV12流进行硬件编码(avc).

当使用OMX.qcom.video.encoder.avc时,分辨率1280x720和640x480工作正常,而其他(即640x360,320x240,800x480)产生输出,其中色度分量似乎移位(请参阅 快照).

我通过将输入图像保存到jpeg文件来仔细检查输入图像是否正确.此问题仅发生在QualComm设备(即三星Galaxy S4)上.

任何人都有这个正常工作?还需要任何额外的设置/怪癖吗?

android video-encoding hardware-acceleration android-hardware mediacodec

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

如何获取Xamarin.Android的Mono VM的堆快照?

背景:我试图在Xamarin.Android应用程序中追踪内存泄漏.使用DDMS和Eclipse Memory Profiler,我能够看到哪些对象是活着的.当试图追踪持有它们的东西(GC Root)时,我只看到"原生堆栈"(当然).

如何获取MONO VM的堆快照?所以我以后可以使用ie快照工具?

或者是否有任何其他技术我可以用来找到Xamarin.Android的.NET部分中持有物体的东西?是否可以在程序中做一些事情?

android memory-leaks memory-profiling heap-dump xamarin

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

如何在F#中正确地丢弃(monadic)计算的结果

在Haskell中,我可以写:

token: Parser a -> Parser a
token p = do space
             v <- p
             space  
             return v
Run Code Online (Sandbox Code Playgroud)

在F#中,我走到了这一步:

let token = compose {
        let! _ = space
        let! v = parser
        let! _ = space
        return v
    }
Run Code Online (Sandbox Code Playgroud)

换句话说,我必须引入这个未使用的let! _ =绑定来丢弃"空间"解析器(monad)的解析值,这是我不需要的.

如何在F#中避免这些无用的绑定?我尝试过使用do!,但是我收到一个错误(因为我的>>=函数不采用类型单位而是'a):

let (>>=) (p: Parser<'a>) (f: 'a -> Parser<'b>) : Parser<'b> 
Run Code Online (Sandbox Code Playgroud)

这是我的构建器定义:

type ParserComposer() = 
  member x.Bind(p, f) = p >>= f
  member x.Return(y) = ret y
  member x.Zero() = failure
Run Code Online (Sandbox Code Playgroud)

我需要定义>>功能吗?将Combine()添加到构建器?任何想法如何做到这一点?代码示例?

monads f# haskell computation-expression do-notation

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