标签: accessor

为什么我不能为重写属性添加set访问器?

在基类中我有这个属性:

public virtual string Text 
{
    get { return text; }
}
Run Code Online (Sandbox Code Playgroud)

我想覆盖它并返回一个不同的文本,但我也希望能够设置文本,所以我这样做:

public override string Text
{
    get { return differentText; }
    set { differentText = value; }
}
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用.我得到一个红色的波浪形,set说我无法覆盖,因为它没有设置访问器.为什么这是个问题?我该怎么办?

c# inheritance properties accessor

8
推荐指数
2
解决办法
5007
查看次数

读取内存映射文件或内存映射视图访问器的所有内容,而不知道它的大小

我需要类似于ReadToEnd或ReadAllBytes的东西来使用MappedViewAccessor读取MemoryMappedFile的所有内容,如果我不知道它的大小,我该怎么办呢?

我已经搜索过了,我已经看到了这个问题,但这不是我要找的东西:

如何从.NET中的内存映射文件中快速读取字节?

编辑:

有一个问题,(int)stream.Length没有给我正确的长度,而是给出了内部缓冲区的大小!我需要刷新这个问题,因为它非常紧迫.

.net c# ipc accessor memory-mapped-files

8
推荐指数
3
解决办法
2万
查看次数

GetGetMethod方法和GetMethod属性之间的区别?

.Net 4.5将PropertyInfo.GetMethod作为PropertyInfo类的属性.它在做什么不同于PropertyInfo.GetGetMethod方法吗?文档页面几乎为空白.我能找到的唯一区别是GetGetMethod默认情况下仅返回公共getter,而GetMethod返回甚至非公共getter(同样通过它实现GetGetMethod(true)).

类似地,.NET 4.5中有GetSetMethod方法和SetMethod属性.它为什么在.NET中引入?

.net accessor propertyinfo getter-setter .net-4.5

8
推荐指数
1
解决办法
1814
查看次数

您是否可以在Java中使用类似于关键字args的概念来最小化访问器方法的数量?

我最近了解到,在Python 3中,为了最小化类的访问器方法的数量,您可以使用词典基本上只有一组访问器方法,如下所示:

def __init__(self, **kwargs):
    self.properties = kwargs

def get_properties(self):
    return self.properties

def get_property(self, key):
    return self.properties.get(key, None)
Run Code Online (Sandbox Code Playgroud)

这似乎非常有用,我想在Java中应用类似的东西.我一直在研究可能具有多个属性的应用程序,创建和跟踪所有访问器方法可能很痛苦.是否有类似的策略我可以用于Java?

python java dictionary accessor keyword-argument

8
推荐指数
2
解决办法
3917
查看次数

如何使用lombok生成标准访问器和流畅的访问器?

我试过这个.

@lombok.Getter
@lombok.Setter
@lombok.Accessors(chain = true, fluent = true)
private String prop;
Run Code Online (Sandbox Code Playgroud)

@Accessor采取了优先级和getPropsetProp没有产生.

我怎样才能让它产生这个?

public String getProp() {
    return prop;
}
public String prop() {
    //return prop;
    return getProp(); // wow factor
}
public void setProp(String prop) {
    this.prop = prop;
}
public Some prop(String prop) {
    //this.prop = prop;
    setProp(prop); // wow factor, again
    return this;
}
Run Code Online (Sandbox Code Playgroud)

java accessor lombok

8
推荐指数
2
解决办法
6385
查看次数

初始化器,属性,访问器和复制/保留/只读

我想了解如何设置属性(访问器)的参数.

我从Kal日历的例子中获取了以下代码.

// Holiday.h

@interface Holiday : NSObject
{
  NSDate *date;
  NSString *name;
  NSString *country;
}

@property (nonatomic, retain, readonly) NSDate *date;
@property (nonatomic, retain, readonly) NSString *name;
@property (nonatomic, retain, readonly) NSString *country;

- (id)initWithName:(NSString *)name country:(NSString *)country date:(NSDate *)date;

@end

// Holiday.m

#import "Holiday.h"

@implementation Holiday

@synthesize date, name, country;

- (id)initWithName:(NSString *)aName country:(NSString *)aCountry date:(NSDate *)aDate
{
  if ((self = [super init])) {
    name = [aName copy];
    country = [aCountry copy];
    date = [aDate retain];
  }
  return …
Run Code Online (Sandbox Code Playgroud)

iphone initialization properties objective-c accessor

7
推荐指数
1
解决办法
3656
查看次数

提供非const引用getter是否有意义

有时我需要暴露一些班级成员.例如,在以下示例中class Mechanic可能需要直接访问Engine组件.我已多次读过所有字段都应该由mutator(accessor)方法访问,原因有几个.但是在提供非const引用getter时是否有任何优势:

class Car
{
    public:
        Engine & engine()
        {
           return m_engine;
        }

        //as a consequence you will also need to provide const version
        const Engine & engine() const
        {
           return m_engine;
        }

    private:
       Engine m_engine;
}
Run Code Online (Sandbox Code Playgroud)

简单地将引擎组件公开:

class Car
{
    public:
        Engine engine;
}
Run Code Online (Sandbox Code Playgroud)

您也可以替换public使用protected,如果你不喜欢这样的例子.在现实生活中,当涉及到System.in或者,你在Java中有类似的东西System.out.看起来,要完全符合某些人的说法,你需要执行类似的调用System.getInstance().getOut().println("hello world").在这种情况下,除了很多官僚代码外,我没有看到任何好处.

c++ oop getter accessor mutators

7
推荐指数
1
解决办法
1484
查看次数

Rails - 添加不在模型和更新模型属性中的属性

我的表格中有3个字段,不在我的数据库中:opening_type,opening_hours,opening_minutes.我想用这3个字段更新主要属性"打开"(在数据库中).

我尝试了很多不起作用的东西.

其实我有:

  attr_accessor :opening_type, :opening_hours, :opening_minutes

  def opening_type=(opening_type)
  end
  def opening_type
    opening_type = opening.split("-")[0] if !opening.blank?
  end

  def opening_hours=(opening_hours)
  end
  def opening_hours
    opening_hours = opening.split("-")[1] if !opening.blank?
  end  

  def opening_minutes=(opening_minutes)
  end
  def opening_minutes
    opening_minutes = opening.split("-")[2] if !opening.blank?    
  end
Run Code Online (Sandbox Code Playgroud)

我尝试添加类似的东西:

  def opening=(opening)
    logger.info "WRITE"

    if !opening_type.blank? and !opening_hours.blank? and opening_minutes.blank?
      opening = ""
      opening << opening_type if !opening_type.blank?
      opening << "-" 
      opening << opening_hours if !opening_hours.blank?
      opening << "-" 
      opening << opening_minutes if !opening_minutes.blank?
    end
    write_attribute(:opening, opening)
  end

  def …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails accessor

7
推荐指数
1
解决办法
2万
查看次数

使用闭包来修改Perl BEGIN块中的类

前言注意: 为了便于讨论,请暂时忽略这样一个事实:使用Class :: Accessor可以实现相同的目的,甚至只需使用Moose(在考虑代码可读性时可能会有更好的结果)和可维护性).

关于面向对象的Perl,本书Programming Perl讨论了使用闭包生成存取方法的能力.例如,这是一段有效的代码:

#!perl

use v5.12;
use warnings;

# at run-time
package Person1;

my @attributes = qw/name age address/;

for my $att ( @attributes )
{
  my $accessor = __PACKAGE__ . "::$att";

  no strict 'refs'; # allow symbolic refs to typeglob

  *$accessor = sub {
    my $self = shift;
    $self->{$att} = shift if @_;
    return $self->{$att};
  };
}

sub new { bless {}, shift }

package main;

use Data::Dumper;

my $dude …
Run Code Online (Sandbox Code Playgroud)

oop perl closures module accessor

7
推荐指数
1
解决办法
362
查看次数

你如何在反应表访问器中调用函数?(反应)

我正在修改 ReactJS 组件。我添加了一个 react-table 来获取分页,效果很好。但是表中的一列需要调用也在此组件中的函数,因此它可以根据该记录的内容呈现链接。(有些结果会呈现链接,有些则不会。)当我在列的访问器属性中列出该函数时,它会返回该函数的一些值,但不是全部。因此,链接返回为:

    localhost:3000/view/c/IDnumber/undefined.  
Run Code Online (Sandbox Code Playgroud)

IDnumber和query都应该返回,但是query参数是“undefined”。

我试过在访问器中列出函数,如:

    getSerialNo(hit,query)
Run Code Online (Sandbox Code Playgroud)

但后来我得到“命中未定义”。我在这个网站和其他网站上搜索过以找到解决方案。

该列看起来像:

    {id:'serialno',
    Header: "Serial #",
    accessor: getSerialNo
    }
Run Code Online (Sandbox Code Playgroud)

部分功能如下所示:

    const getSerialNo = (hit, query) => {
        const linkAs = '/view/c/${hit._id}/${query}'
    return <Link href={link} as={linkAs}><a target="_blank">{serialNo}
     </a></Link>
Run Code Online (Sandbox Code Playgroud)

我想取回一个实际包含查询的链接,例如:

    localhost:3000/view/c/IDnumber/query
Run Code Online (Sandbox Code Playgroud)

accessor reactjs react-table

7
推荐指数
2
解决办法
1万
查看次数