将
LambdaParser
开源项目整合到Silverlight中,在Silverlight客户端上执行C#委托代码
LambdaParser源代码可在http://code.google.com/p/lambda-parser/
下载
相关网址:http://www.cnblogs.com/zhucai/archive/2010/01/25/lambdaparser.html
(朱才博客园)
修改条款:
1 修改了ExpressionParserCore.cs中的 GetTypeCore(string typeName)方法:
/// <summary>
/// 根据类型名称获取类型的对象
/// </summary>
/// <param name="typeName"></param>
/// <returns></returns>
private Type GetTypeCore(string typeName)
{
#if SILVERLIGHT
Assembly a = typeof(System.Action).Assembly;
Type type = a.GetType(typeName, false);
if (type != null)
return type;
foreach (System.Windows.AssemblyPart ap in System.Windows.Deployment.Current.Parts)
{
System.Windows.Resources.StreamResourceInfo sri = System.Windows.Application.GetResourceStream(new Uri(ap.Source, UriKind.Relative));
Assembly assembly = new System.Windows.AssemblyPart().Load(sri.Stream);
type = assembly.GetType(typeName, false);
if (type != null)
return type;
}
#else
// First - try all loaded types
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
{
Type type = assembly.GetType(typeName, false, true);
if (type != null)
return type;
}
#endif
return type;
}
2 编译时listParam.ConvertAll<Type>(m => m.Type).ToArray()会报错,换写该方法为GetTypes(listParam):
private Type[] GetTypes(List<System.Linq.Expressions.Expression> listParam)
{
List<Type> types = new List<Type>();
foreach (var expression in listParam)
{
types.Add(expression.Type);
}
return types.ToArray();
}
3 运行时ReadExpression中报错:“访问安全关键方法“System.Runtime.InteropServices.Marshal.SizeOf(System.Type)”的尝试失败。”
注释了case "typeof"
//#region case "sizeof":
//case "sizeof":
// {
// string str = GetBracketString(false);
// Type type = GetType(str);
// //currentExpression = System.Linq.Expressions.Expression.Constant(System.Runtime.InteropServices.Marshal.SizeOf(type));
// }
// break;
//#endregion
分享到:
相关推荐
**ArcGIS API for Silverlight 3.0** 是Esri公司推出的一款强大的地图和地理信息系统开发工具,专门针对Microsoft Silverlight平台设计。这个API允许开发者构建丰富的、交互式的Web应用程序,展示地图信息,进行地理...
《ArcGIS Viewer for Silverlight离线文档》是一个针对GIS(地理信息系统)开发工具的重要参考资料,主要服务于那些使用ArcGIS Viewer for Silverlight进行Web GIS应用开发的专业人士。ArcGIS Viewer for ...
ComponentOne Studio for Silverlight 2012 v3 1/3 一共有 3 个压缩文件,请全部下载后解压 ComponentOne Studio Silverlight 2012 v3 Silverlight UI Controls with Power and Style Get the controls and ...
ComponentOne Studio for Silverlight 2013 v1 1/3 共三个压缩文件,请全部下载后解压 Part of: Ultimate | Enterprise 60+ powerful, yet lightweight, controls offer the latest Web UI trends and take ...
**ArcGIS 3.1 for Silverlight** 是Esri公司推出的一款基于Silverlight技术的Web GIS开发框架。这款产品主要用于构建交互式的、丰富的地理信息系统应用,让用户能够在浏览器中享受到类似桌面应用的体验。ArcGIS API ...
Json.NET For Silverlight API
ComponentOne Studio for Silverlight 2012 v3 1/3 一共有 3 个压缩文件,请全部下载后解压 ComponentOne Studio Silverlight 2012 v3 Silverlight UI Controls with Power and Style Get the controls and ...
ComponentOne Studio for Silverlight 2013 v1 Part of: Ultimate | Enterprise 60+ powerful, yet lightweight, controls offer the latest Web UI trends and take advantage of everything Silverlight 5 has...
### ArcGIS API for Silverlight 开发入门 #### 一、为何选择 Silverlight API? 随着信息技术的发展,GIS领域也需要不断地更新迭代以适应新的技术趋势。Silverlight作为一种新兴的技术平台,为GIS开发提供了新的...
ArcGIS API for Silverlight是Esri公司开发的一款用于构建地理信息系统(GIS)Web应用程序的开发框架,主要针对Microsoft Silverlight技术。此API使得开发者能够利用Silverlight的强大功能和丰富的用户体验来展示、...
ComponentOne Studio for Silverlight 2013 v1 1/3 共三个压缩文件,请全部下载后解压 Part of: Ultimate | Enterprise 60+ powerful, yet lightweight, controls offer the latest Web UI trends and take ...
此应用实例是一个全功能的展示应用。运行调试通过,共享出来,大家参考、...实例充分利用的Silverlight 3的功能,比如:触发器、元件结合等,程序结构合理,实例开发了一系列的用户控件来构建应用,可复用性较强....
Telerik UI for Silverlight是Telerik公司开发的一套完整的用户界面组件库,专门针对Microsoft的Silverlight技术。这个组件库提供了丰富的控件和工具,帮助开发者构建功能强大的、具有现代感的Web应用程序。2019 SP1...
**Telerik RadControls for Silverlight Beta2** 是一个专门针对微软Silverlight开发平台的UI控件库,由Telerik公司提供。这个库包含了丰富的用户界面元素,旨在帮助开发者快速、高效地构建出交互性强、视觉效果优秀...
【Telerik RadControls for Silverlight 5 2013 Q1 SP1 Demos】是Telerik公司推出的一款专门针对Silverlight 5平台的UI控件库,它为开发者提供了丰富的用户界面组件,用于构建高性能、高交互性的Web应用程序。...
ArcGIS API 3.3 for Silverlight
【RadControls for Silverlight 5 2012.3】是Telerik公司推出的一套针对Silverlight 5平台的高级UI控件集,专为.NET开发者设计,旨在提升应用程序的用户界面体验和开发效率。这个版本是2012年3月的1017更新,提供的...