如何对C#类实例中的所有string类型变量做BASE64解码

JaggerLee 2009-03-09 10:37:01
如题,我想用一个方法来实现这样的功能
各位大牛,在不修改实体类的情况下,仅仅定义一个公有的方法能够实现么?

对C#类实例中的所有string类型变量做BASE64解码.

因为这个仅仅是在SOAP接口中需要这样做,所以不想去修改实体类.

各位大牛帮忙看看
...全文
178 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
天乐 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 JaggerLee 的回复:]
再问一下 .NET 2.0 环境下的C#

怎样声明方法的参数,使得参数类型是不固定的
[/Quote]

定义泛型方法,并可使用适当的泛型约束

请参考MSDN,泛型编程
JaggerLee 2009-03-09
  • 打赏
  • 举报
回复
再问一下 .NET 2.0 环境下的C#

怎样声明方法的参数,使得参数类型是不固定的
JaggerLee 2009-03-09
  • 打赏
  • 举报
回复
哦,这样啊
我先去熟悉一下 扩展方法和反射
jinjazz 2009-03-09
  • 打赏
  • 举报
回复
只能用反射了
cppfaq 2009-03-09
  • 打赏
  • 举报
回复
做个Adapter?
Teng_s2000 2009-03-09
  • 打赏
  • 举报
回复
恩,扩展方法,不错!
zgke 2009-03-09
  • 打赏
  • 举报
回复
反射这个实例 获取说有成员或则属性返回类型是string 的进行Base64解码 不就好了..

soaringbird 2009-03-09
  • 打赏
  • 举报
回复
扩展方法
反射
JaggerLee 2009-03-09
  • 打赏
  • 举报
回复
不好意思,说变量说习惯了,应该是 所有string类型的字段
JaggerLee 2009-03-09
  • 打赏
  • 举报
回复
结贴....

public void Obj_DeBase64<T>(T Tmpobj)
{
Type type;
try
{
type = Tmpobj.GetType();
System.Reflection.PropertyInfo[] api = type.GetProperties();
foreach (PropertyInfo pi in api)
{
try
{
if (pi.PropertyType == Type.GetType("System.String"))
{
pi.SetValue(Tmpobj, DeBase64(pi.GetValue(Tmpobj, null).ToString()), null);
}
}
catch
{
}
}
}
catch
{
}
finally
{
type = null;
}
}

111,126

社区成员

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

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

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