文档简单地说ReadBlock是
"阻止版本的阅读"
但是,这是什么意思?
之前有人问过这个问题,但是,是吧?
http://www.pcreview.co.uk/forums/thread-1385785.php
那个回答的人说
基本上,这意味着您可以依赖StreamReader.ReadBlock返回,直到它读取的次数与您要求的一样多,或者它已到达流的末尾.
我是否正确理解这是必需的,因为Read可能无法为您提供所需的一切?那只是因为它返回0并不意味着你到达文件的末尾?
那么这意味着检查返回的字节数以外的其他内容(EndOfStream?)或使用ReadBlock代替?
我正在寻找一个简单的Xml存储库(GetAll,Add,Update,Delete)示例.
每个人都说"使用存储库模式是一个好主意,因为你可以交换你的数据存储位置......"现在我需要将我的数据存储在xml文件中,并且不知道如何实现XML存储库.我搜索了整个谷歌,无法找到它.
如果可能,请发送包含关系数据句柄的示例.就像在EF上保存产品实体一样,所有依赖于产品的实体也都是持久的.
我收到异常 无法将类型“MySomeTypeThatImplementsISomeInterfaceAndIsPassedAs[T]ToTheClass”转换为类型“ISomeInterface”。LINQ to Entities 仅支持强制转换实体数据模型基元类型。
我的存储库看起来像
public interface IRepository<T>
{
IQueryable<T> Get(System.Linq.Expressions.Expression<System.Func<T, bool>> Query);
}
Run Code Online (Sandbox Code Playgroud)
另外,我有服务类
public abstract class FinanceServiceBase<TAccount, TParcel, TPayment>
where TAccount : IAccount
where TParcel : IParcel
where TPayment : IPayment
{
//...
IRepository<TPayment> ParcelRepository {get; private set;}
public bool MakePayment(TPayment payment)
{
//...
ParcelRepository.Get(p => p.ParcelId == 2);
// here my exception is thrown
// **p.ParcelId is in IParcel**
//...
}
}
//...
Run Code Online (Sandbox Code Playgroud)
有了这门课,我可以控制很多关于财务的事情,而无需为其他程序重写代码。我用 3 个泛型参数做了这个类,因为我不能使用 IRepository 因为我的存储库不能<out T>
ParcelId 是 Int32
TParcel …