惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
L
LangChain Blog
Jina AI
Jina AI
博客园 - 叶小钗
B
Blog RSS Feed
Recent Announcements
Recent Announcements
H
Help Net Security
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
B
Blog
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客

博客园 - xiaosonl

学习手札#3 NHibernate缓存 产品的简单性 关于过度设计的思考(上) 让ASP.NET MVC的Controller输出不同类型数据 学习手札#2 故事点和小时数的思考 学习笔记#1 键值对数据库 SQLite数据迁移 探讨一种在Silverlight不普及情况下的部署策略 有用的文档 Silverlight产品布署策略 探讨一种Silverlight的异步编程模式 代码的注释 下半年要看完消化的技术类书籍 中小型企业的人员流失 谈谈Ruby On Rails和ASP.NET 工作中的系统学习 Uml中的关联与依赖关系 TDD与重构设计 C#中使用位运算来实现权限管理
Silverlight中JavaSciprt无法访问托管类抽象成员的解决方法
xiaosonl · 2009-06-15 · via 博客园 - xiaosonl

2009-06-15 22:31  xiaosonl  阅读(233)  评论()    收藏  举报

假设Silverlight中存在这样的两个类, 并且注册为可以被JS调用

    [ScriptableType]
    public abstract class People
    {
        public People()
        {

        }

        public abstract string Name { get; set; }
    }

    [ScriptableType]
    public class Men : People
    {
        public Men()
        {

        }

        public override string Name { get; set; }
    }

使用JS创建Men对象后, 是无法访问到Name属性的, 不知道是不是Silverlight的一个BUG.

解决方法, 不直接暴露重载的抽象成员就可以了, 如下:

    [ScriptableType]
    public abstract class People
    {
        public People()
        {

        }

        protected abstract string _name { get; set; }
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
    }

    [ScriptableType]
    public class Men : People
    {
        public Men()
        {

        }

        protected override string _name { get; set; }
    }