• .net 面试题2


    1. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?
    ===============
    property用法 get/set方法。
    主要用于类与外部程序之间的数据交互使用。
    增加了对类内部数据访问的安全性和方便性,在编译期就可以进行类型检查和访问权限检查。

    attribute用法
    [STAThread]
    public void Thrd(){...}
    attribute是一个派生自System.Attribute基类的类。
    attribute可在反射中被枚举,查询。
    (当编译器看到一个属性被附着给一个类型或成员时,它会搜索具有指定属性名的System.Attribute派生类。
    如果编译器没有找到匹配的类,它就在指定的属性名后面加上Attribute,然后再进行搜索。
    因此,常见的使用做法是将属性类名定义为以Attribute结尾,在使用时忽略名称的这一部分。)
    使用Attribute可以让用户把自定义的信息附属到实体上,
    还可以在运行时动态查询,
    这些信息不仅可以被用户取出来作为一种类型的标注,它更可以被编译器所识别,
    作为编译时的一种附属条件参加程序的编译。
    举例如
    [STAThread]和[MTAThread]
    线程模式属性,
    通过这两个属性可以指定线程是单线程模式还是多线程模式
    (线程模型只影响使用COM interop的应用程序,将这个属性应用于不使用COM interop的程序将不会产生任何效果。)
    几个常用的属性:
    AttributeUsage | Class | 指定另一个属性类的有效使用方式
    CLSCompliant | 全部 | 指出程序元素是否与CLS兼容
    Conditional | Method | 指出如果没有定义相关联的字符串,编译器就可以忽略对这个方法的任何调用
    DllImport | Method | 指定包含外部方法的实现的DLL位置
    STAThread | Method(Main) | 指出程序的默认线程模型为STA
    MTAThread | Method(Main) | 指出程序的默认模型为多线程(MTA)
    Obsolete | 除了Assembly、Module、Parameter和Return | 将一个元素标示为不可用,通知用户此元素将被从未来的产品
    ParamArray| Parameter |允许单个参数被隐式地当作params(数组)参数对待
    Serializable| Class、Struct、enum、delegate |指定这种类型的所有公共和私有字段可以被串行化
    NonSerialized |Field| 应用于被标示为可串行化的类的字段,指出这些字段将不可被串行化
    StructLayout| Class、struct |指定类或结构的数据布局的性质,比如Auto、Explicit或sequential
    ThreadStatic |Field(静态) |实现线程局部存储(TLS)。不能跨多个线程共享给定的静态字段,每个线程拥有这个静态字段的副本
    =======================================
    2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?
       web service是跨网络提供服务的一项技术的集合,主要通过各种不同的协议来实现一个服务的支持,
       比如http(Hypertext Transfer Protocol) 协议,
             xml(eXtensible Markup Language),
             soap(Simple Object Access Protocol)协议,
             WSDL (Web Services Description Language),
             UDDI (Universal Description, Discovery and Integration)。
             .net framework中提出了xml web service的概念:
              这个概念主要阐述了将xml web service作为一个英特网上进行分布式计算的基础构架。
             开放标准和通信,实现通过人与应用程序的协作,
             通过xml web service整合应用程序来创建一个平台。
             应用程序从不同的源中经过xml web service来整合实现。
             以下是.net关于xml web service的定义:
            . xml web service通过一个标准的协议向web用户公布实用功能。大多数情况下这个协议是SOAP协议。
            . xml web service通过一种方法去描述接口,
               这些信息必须足够详细以便用户能根据这些信息去实现一个客户应用程序。
             这个描述通常是以一个xml文档(Web Services Description Language)呈现。
            一旦xml web service被注册,
            那么潜在的用户可以很容易的通过Universal Discovery Description and Integration 找到这些服务。
    ========================================

  • 相关阅读:
    静态内部类与非静态内部类之间的访问
    面向对象蚂蚁爬杆的问题
    关于Clone 的方法使用
    关于谁来参加会议这个题目的卫条件
    String类的基本用法与注意点,StringBuffer类的用法
    Smarty模板Windows下写代码 放到CentOS6.5无法正确解析
    [转]Linux(centOS6.5)下SVN的安装、配置及开机启动
    [转]Centos6.5使用yum安装mysql—配置MySQL允许远程登录
    [转]-bash: wget: command not found的两种解决方法
    [转]VMware 出现下述错误: Application failure. hr=0x80040101:Failed to initialize virtual machine.
  • 原文地址:https://www.cnblogs.com/simhare/p/1495160.html
Copyright © 2020-2023  润新知