由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DotNet版 - 大牛指教:新手List<>问题
相关主题
SoapExtensionReflector?Question about struct
Urgent Help.how to use Ping() class?
Re: 请问DATAGRID里的BOUNDCOLUMN HEADER可以又有TEwho can solve this?
datagrid的问题table and div
c# 内存管理的一个小问题Anyone has used MapPoint.net?
Question: "-" operators: z= -x; z = x-ySystem.Reflection.Invoke is good
觉得C#的valuetype和boxing真的是没有必要关于asp.net session的弱问题
C# interview questionerror run ASP.NET WEB API C# on Visual Studio 2013 (转载)
相关话题的讨论汇总
话题: listlong话题: list话题: tostring话题: int话题: override
进入DotNet版参与讨论
1 (共1页)
d******8
发帖数: 2191
1
定义了ListLong,
class ListLong:List{
.....
}
而下面这句在运行时出错,cannot cast object......
var s=(ListLong)(new List{1,2,3,4,5,6});
问题在哪儿呢?求大牛指教!
l*s
发帖数: 783
2
这样不允许。反过来可以。

【在 d******8 的大作中提到】
: 定义了ListLong,
: class ListLong:List{
: .....
: }
: 而下面这句在运行时出错,cannot cast object......
: var s=(ListLong)(new List{1,2,3,4,5,6});
: 问题在哪儿呢?求大牛指教!

d******8
发帖数: 2191
3
我定义ListLong的目的是为了override List的ToString(),比如
List a={1,2,3,4,5,6};
a.ToString()的结果就是,1x2x3x4x5x6 e.g.
而我又不想定义function ToString(List a)而调用 ToString(a)来实现,因为这
样不方便chain methods。
请问怎么办呢?

【在 l*s 的大作中提到】
: 这样不允许。反过来可以。
d******8
发帖数: 2191
4
Actually, overriding type casting operator solves my problem.
http://msdn.microsoft.com/en-us/library/85w54y0a(v=VS.100).aspx
thanks.

【在 l*s 的大作中提到】
: 这样不允许。反过来可以。
d******8
发帖数: 2191
5
sorry
User-defined conversion operator from or to base class is not allowed.....
use constructor instead

【在 d******8 的大作中提到】
: Actually, overriding type casting operator solves my problem.
: http://msdn.microsoft.com/en-us/library/85w54y0a(v=VS.100).aspx
: thanks.

v******n
发帖数: 421
6
一般不应该 override .net framework 里的东西吧,你可以用ListLong的ToString(),
override一下,或者用extension method (但是不能用ToString这个名字)

【在 d******8 的大作中提到】
: 我定义ListLong的目的是为了override List的ToString(),比如
: List a={1,2,3,4,5,6};
: a.ToString()的结果就是,1x2x3x4x5x6 e.g.
: 而我又不想定义function ToString(List a)而调用 ToString(a)来实现,因为这
: 样不方便chain methods。
: 请问怎么办呢?

d******8
发帖数: 2191
7
就是用ListLong的ToString() override的

),

【在 v******n 的大作中提到】
: 一般不应该 override .net framework 里的东西吧,你可以用ListLong的ToString(),
: override一下,或者用extension method (但是不能用ToString这个名字)

l*s
发帖数: 783
8
Pass in的List{1,2,3,4,5,6}不受你控制吗?否则为什么不直接创建ListLong
object?

【在 d******8 的大作中提到】
: 定义了ListLong,
: class ListLong:List{
: .....
: }
: 而下面这句在运行时出错,cannot cast object......
: var s=(ListLong)(new List{1,2,3,4,5,6});
: 问题在哪儿呢?求大牛指教!

d******8
发帖数: 2191
9
谢谢!就是这么解决的。

【在 l*s 的大作中提到】
: Pass in的List{1,2,3,4,5,6}不受你控制吗?否则为什么不直接创建ListLong
: object?

1 (共1页)
进入DotNet版参与讨论
相关主题
error run ASP.NET WEB API C# on Visual Studio 2013 (转载)c# 内存管理的一个小问题
.Net Formatting Objects Processor - NFOPQuestion: "-" operators: z= -x; z = x-y
SOAP觉得C#的valuetype和boxing真的是没有必要
请问, ASP.NET 中, 2 个web form之间如何传参数?C# interview question
SoapExtensionReflector?Question about struct
Urgent Help.how to use Ping() class?
Re: 请问DATAGRID里的BOUNDCOLUMN HEADER可以又有TEwho can solve this?
datagrid的问题table and div
相关话题的讨论汇总
话题: listlong话题: list话题: tostring话题: int话题: override