小编Pit*_*ing的帖子

通用类实现接口失败

在compimation中遇到一个奇怪的问题,说类没有实现接口.

让我们说av得到了一个类:

public Class MyClass
{
...
}
Run Code Online (Sandbox Code Playgroud)

和一个interace:

public Interface IMyInterface
{
 MyClass PropertyOfMyClass {get;}
}
Run Code Online (Sandbox Code Playgroud)

现在是一个通用类:

public class MyGeneric<T> where T:MyClass
{
  T PropertyOfMyClass 
  {
    get{return ...;}
  }
}
Run Code Online (Sandbox Code Playgroud)

直到这里,每个人都很好并且编译正确.

但是这会在编译时打破:

public class MyGeneric<T>:IMyInterace where T:MyClass
    {
      T PropertyOfMyClass 
      {
        get{return ...;}
      }
    }
Run Code Online (Sandbox Code Playgroud)

说MyGeneric没有实现IMyInterface的方法.但显然确实如此,不是吗?

c#

6
推荐指数
1
解决办法
541
查看次数

用于方法渲染LocalReport的线程文化

我正在将一个localreport对象用于asp.net应用程序.此报告由一组对象提供.因此,在报告的呈现中,会调用classe的一些属性.

Class ClassForReport
{
  string Date
  {
    get{return _aDate.ToshortDateString();}
  }
}
Run Code Online (Sandbox Code Playgroud)

现在渲染的代码和问题:

//first of all, I change de culture for taking in account the choice of the user
CultureInfo ci = CultureInfo.CreateSpecificCulture(isoLanguageName_);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci; 
//Here, my culture is now: FR-be

MyLocalReport.render(...) // in this method, the property Date above is called. And when debugging I see that the culture is EN !!!

...
//and here, my culture is still Fr-be
Run Code Online (Sandbox Code Playgroud)

因此,当调用方法render时,它会启动一个线程并获取服务器的文化,而不是进程的文化.

我看到的唯一的工作方式是将我的报告更改为包含日期,然后提供文化参数,并在我的所有报告中将所有日期格式化为给定的文化...

所以我真的希望有一种方法可以告诉报告采取asp线程的复制文化,而不是采取其他一些文化来自无处.

thx提前

c# reporting-services

4
推荐指数
1
解决办法
1642
查看次数

仅覆盖Get访问者

我有一个抽象类:

abstract class ClassBase
    {
        public abstract string Test { get; }
    }
Run Code Online (Sandbox Code Playgroud)

我想得到它,顺便添加一个set accesor

 class ClassDerive : ClassBase
    {
        string _s;

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

我不能这样做因为我可能不会覆盖set

 class ClassDerive2 : ClassBase
    {
        string _s;

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

语法错误

class ClassDerive3 : ClassBase
{
    string _s;

    public override string ClassBase.Test
    {
        get …
Run Code Online (Sandbox Code Playgroud)

c#

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

标签 统计

c# ×3

reporting-services ×1