泛型方法的问题??

likingbq 2010-09-11 02:59:23
如果一个方法返回值不确定的时候怎么解决
是否有泛型的方法 举个例子说明下 谢谢
...全文
196 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
种草德鲁伊 2010-09-11
  • 打赏
  • 举报
回复
不确定类型可以返回 default(T)
莫聆 2010-09-11
  • 打赏
  • 举报
回复
泛型是在编译时就确定具体的类型,你的情况不适合用泛型,建议用返回值object,在调用方转换。
wanghui0380 2010-09-11
  • 打赏
  • 举报
回复
因为不确定返回值,所以应该使用委托来延迟确定,委托给调用方让他自己决定他需要返回啥类型的值
wanghui0380 2010-09-11
  • 打赏
  • 举报
回复
这种要求我通常采用func<T,U>延迟确定

比如

    private U myconvert<T,U>(T obj,Func<T,U> func)
{
return func(obj);

}


那么调用方式可以是
 string str=myconvert(1, c => c.ToString());//int2string

int rint = myconvert("1", c => Convert.ToInt32(c));//string2int
兔子-顾问 2010-09-11
  • 打赏
  • 举报
回复
单个方法的返回值不确定,你可以考虑返回object,如果调用时能确定类型,可以用泛型,例如
public T GetCopyData<T>(T t1) where T : ICloneable
{
return (T)t1.Clone();
}
wanghui0380 2010-09-11
  • 打赏
  • 举报
回复
看看net框架内部一个委托定义方式:func<>

 // 摘要:
// 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法。
//
// 参数:
// arg:
// 此委托封装的方法的参数。
//
// 类型参数:
// T:
// 此委托封装的方法的参数类型。
//
// TResult:
// 此委托封装的方法的返回值类型。
//
// 返回结果:
// 此委托封装的方法的返回值。
[TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089")]
public delegate TResult Func<in T, out TResult>(T arg);
relup 2010-09-11
  • 打赏
  • 举报
回复
你最好把例子列出来,你这样提问,不知道你在问什么
likingbq 2010-09-11
  • 打赏
  • 举报
回复
问题补充下 可以在定义委托时定义一个泛型返回值的类型吗

因为我委托的方法 返回值不确定 除了object以外 有方法解答吗
likingbq 2010-09-11
  • 打赏
  • 举报
回复
谢谢楼上的 我想做个数据库访问的dll 把一些重复的代码打包成方法 供别人去用
因为每个人用的返回类型都不一样 所有要做个泛型泛型的方法
  • 打赏
  • 举报
回复
C#中函数返回值为泛型,可以像如下代码:
public T raise<T, T1, T2>(T1 t1, T2 t2)
{
string x = "";
return (T)(Object)x;
}
调用方如:
String s1 = null;
String s2 = null;
string re = c.raise<string, string, string>(s1, s2);
Nick黄 2010-09-11
  • 打赏
  • 举报
回复
返回Object绝对不会错,哈哈

要不就弄上个弱类型 PS:int? index;
内容概要:本文系统研究了构网型变流器的正负序阻抗解耦特性及其在弱电网环境下的稳定性表现,重点依托Matlab/Simulink仿真平台,构建了详细的阻抗数学模型,设计了解耦控制策略,并采用小信号扫频法进行频域辨识与稳定性验证。研究深入探讨了构网型变流器与传统跟网型逆变器在正负序阻抗特性上的本质差异,结合虚拟同步发电机(VSG)等先进控制技术,分析其在抑制宽频带振荡、削弱锁相环动态耦合等方面的优越性。文中不仅提供了完整的仿真模型与MATLAB代码实现,还整合了光伏、风电、储能、微电网等多类新能源系统的阻抗建模与稳定性分析资源,形成了一套面向新型电力系统稳定性的综合性技术资料体系,具有较强的科研复现与工程参考价值。; 适合人群:面向具备电力电子、电力系统自动化、新能源并网等专业背景的研究生、高校教师及工程技术人员,特别适用于从事阻抗建模、小干扰稳定性分析、宽频振荡机理研究以及撰写高水平学术论文的科研工作者。; 使用场景及目标:①掌握构网型变流器正负序阻抗建模与扫频辨识的仿真方法;②深入理解VSG等构网型控制在弱电网中提升稳定性的内在机理;③复现顶刊论文中的阻抗分析流程与稳定性判据应用;④利用提供的成熟模型与代码加速科研进程,支撑课题研究与学术成果产出。; 阅读建议:建议结合文中提供的Simulink模型与MATLAB代码,按照“理论建模—仿真搭建—扫频激励—频响提取—Nyquist判据分析”的完整流程进行实践操作,重点关注扫频信号的注入方式、频率范围设置及阻抗曲线的物理意义解读,并参考博士论文复现案例深化对复杂动态耦合问题的理解。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧