c#中使用自动属性减少代码输入量

代码如下:

public class Product
    {
        private String name;
        public String Name
        {
            get
            {
                return name;
            }
            private set
            {
                name = value;
            }
        }

private Decimal price;
        public Decimal Price
        {
            get
            {
                return price;
            }
            set
            {
                price = value;
            }
        }

public Product(String name, Decimal price)
        {
            this.price = price;
            this.name = name;
        }
    }

可以改写为:

代码如下:

public class Product
    {
        public String Name
        {
            get;
            private set;
        }

public Decimal Price
        {
            get;
            set;
        }

public Product(String name, Decimal price)
        {
            Name = name;
            Price = price;
        }

public override string ToString()
        {
            return String.Format("{0}:{1}", this.Name, this.Price);
        }
    }

代码是不是简化了很多!

注意:

不能定义只读或者只写的属性,必须同时提供
如果想在属性中增加判断、验证等逻辑,则只能用传统的属性定义方法实现

(0)

相关推荐

  • c#中使用自动属性减少代码输入量

    复制代码 代码如下: public class Product     {         private String name;         public String Name         {             get             {                 return name;             }             private set             {                 name = value;      

  • 解决python中无法自动补全代码的问题

    自已理解自我总结出来的方法,供自己以后使用 #coding:utf-8 from cv2 import * #这里表示让cv2的智能提示功能可用,但是这句话却没有导入cv2模块,不知道什么原因 import tensorflow as tf import tensorflow.contrib as contrib #这句话表示让contrib的代码自动补全功能可用,不知道为啥,比如输入contrib.等一会后面就会自动提示出现很多方法,但是输入tensorflow.contrib.却没有任何反应

  • asp.net 反射减少代码书写量

    复制代码 代码如下: public bool Add(Liuyan refmodel)    {        string sql = "insert into liuyan(name,phone,zhiwei,gongsi,addr,country,dianyou,content,adddate)values(@name,@phone,@zhiwei,@gongsi,@addr,@country,@dianyou,@content,@adddate)";        OleDbP

  • C#中字段、属性、只读、构造函数赋值、反射赋值的问题

    C#中字段.属性和构造函数赋值的问题提出问题如下所述: 首先提出几个问题: 1.如何实现自己的注入框架? 2.字段和自动属性的区别是什么? 3.字段和自动属性声明时的直接赋值和构造函数赋值有什么区别? 4.为什么只读字段和只读自动属性(只有get没有set访问器)都可以在构造函数中进行赋值? 5.反射可以给只读字段或者只读属性进行赋值吗? 6.自动属性和普通属性的区别? 这些问题是我在试着写自己的注入实现时遇到的问题.这些问题应该在学习C#时的第一节课就应该学到了,我看网上还有人分享说他在面试时

  • Spring中利用配置文件和@value注入属性值代码详解

    1 简单属性值注入 package com.xy.test1; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @Service // 需要被注入属性值的类需要被Spring管理 public class PropertiesService1 { // 利用@Value注解,即使没有该属性或者属性文件也不会报错 // @Value输入

  • php正则删除html代码中class样式属性的方法 原创

    本文实例讲述了php正则删除html代码中class样式属性的方法.分享给大家供大家参考,具体如下: 一.问题: 有如下代码: <div class="jb51"><div class="jb51_txt">欢迎访问我们</div></div> 要求:删除HTML代码中的class属性. 二.实现方法: php实现代码如下: $str='<div class="jb51"><div

  • JavaScript中访问id对象 属性的方式访问属性(实例代码)

    实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Co

  • python pycharm中使用opencv时没有代码自动补全提示的解决方案

    目录 解决方案有2种 方法1 方法2 注意事项 总结 python pycharm中使用opencv时,没有代码自动补全提示 解决方案有2种 今天工作时突然发现,在写OPENCV相关代码时,没有自动补全提示了,只有几个最最基本的补全函数. 方法1 开始以为是opencv坏了,一通折腾搞不定,又把pycharm重装,还是不行,又把Python重装还是不行.甚至还安装了anaconda都还是不行,之前一直是通过pip3进行安装库文件. 最后发现,似乎是pycharm自动升级之后造成的问题,需要将op

  • B/S开发中常用javaScript技术与代码

    在b/s开发中经常用到的javaScript技术  一.验证类 1.数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2.时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形如 (2003-12-05) 2.3 长时间,形如 (2003-12-05 13:04:06) 2.4 只有年和月.形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03)

  • PHP中防止SQL注入实现代码

    一. 注入式攻击的类型 可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型.这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话.本文后面,我们会对此作详细讨论. 如 果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如"1=1"这样的条件注入到WHERE子句中,如下所示(其中,注入部分以粗体显示): SELECT * FROM wines WHERE variety = 'lagrein' OR 1=1;'

随机推荐