English 中文(简体)
Cast between List<MyType> and List<IMyType>
原标题:Cast between List<MyType> and List<IMyType>
最佳回答

引证。 页: 1 Linq; 至原始档案的顶端,如果没有。

List<IBar> IFoo.manyBars
{
    get { return manyBars.Cast<IBar>().ToList(); }
    set { manyBars = value.Cast<CBar>().ToList(); }
}

请注意,这将在<>每个出入上为财产分配和复制一个新的阵列。 如果这不是你想要的,那么你就应考虑另一种办法,例如使用<代码”类型处置财产。 IEvidable<IBar>。

使用<代码>List<IBar> 也是指某人可能试图填写anObject.many Bars.Remove(0),该编码将确实<>在<编码>anObject所储存的名单中,因为一份副本已退还。

问题回答

You can make a copy:

get { return manyBars.OfType<IBar>().ToList(); } 
set { manyBars = value.Cast<CBar>().ToList(); }

但是,你可以 instance开这个例子。 如果你可以提出这一理由,那么我试图打上<编码>时会发生什么情况。 Add an IBar that is not a CBar.

根据你们的需要,你可以提出新的返回名单:

return new List<IBar>(manyBars);

虽然你记得,虽然目标相同,但你将重新列出另一个清单,因此,你需要仔细考虑从清单中增加/删除物体。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...