小编Cod*_*nis的帖子

C#多态性简单问题

我得到了一个X类和一个Y类,后者派生自X:

class x {}
class y : x {}
Run Code Online (Sandbox Code Playgroud)

然后在某处我使用X列表:

List<X> lstX;
...
Run Code Online (Sandbox Code Playgroud)

然后我想从我的其他列表中的数据中使用一个新的Y列表......沿着这些方向:

List<Y> lstY = lstX;
Run Code Online (Sandbox Code Playgroud)

我相信X列表中的项目会自动转换为Y,但事实并非如此.

另外,我如何从某个X初始化Y的新实例?我想要做 :

var newX = new X();
var newY = new Y(X);
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有像那样工作.

谢谢你的帮助!抱歉格式化,尽我所能

c# polymorphism

9
推荐指数
1
解决办法
2492
查看次数

按属性值查找XElement

我有一个IEnumerables的集合,每个都有一个不同的属性值,对应于我的业务对象上的不同属性.以下是我要查询的XML示例:

  <SimpleData name="zip">60004</SimpleData>
  <SimpleData name="name">ARLINGTON HEIGHTS</SimpleData>
  <SimpleData name="state">IL</SimpleData>
  <SimpleData name="countyname">COOK</SimpleData>
  <SimpleData name="lat">42.1121336684356</SimpleData>
  <SimpleData name="lon">-87.9736682731814</SimpleData> 
Run Code Online (Sandbox Code Playgroud)

我认为我的linq2xml lambda很接近(在搜索MSDN和SO之后),但我似乎无法正确调整它:

string cityName = simpleData.Where(a => a.Attribute("name").Value == "name").Select(a => a.Value).ToString();
Run Code Online (Sandbox Code Playgroud)

cityName的值被分配给"System.Linq.Enumerable + WhereSelectEnumerableIterator`2 [System.Xml.Linq.XElement,System.String]"而不是ARLINGTON HEIGHTS

有什么建议?谢谢

attributes linq-to-xml

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

使用OpenXML在Word中获取CheckBox

如何使用OpenXML获取嵌入在Word文档中的CheckBox控件的句柄?

您会认为Paragraph.ControlPropertiesPart或Paragraph.Descendents()会实现某些功能,但在每种情况下我都会返回null类型.

我可以使用实际的XML结构遍历文档树,但这似乎很麻烦.

建议欢迎.

c# openxml office-2010 wordprocessingml

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

有没有人成功使用过SpecFlow和xUnit 2.0?

当前版本的SpecFlow.Xunit与xUnit 2.0不兼容.

我无法回滚到xUnit 1.9.0,因为所有其他单元测试都是为xUnit 2.0编写的.SpecFlow.Xunit的当前版本使用IUseFixture,它在xUnit 2.0中已过时.

所以我想问一下是否有人在使用xUnit 2.0的SpecFlow.Xunit?你是怎么做到的?

c# bdd xunit specflow

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

如何在Roslyn中获取Invoked方法名称?

我有这样的代码;

class abc{
    void A()
    {
        //Some to do statements
    }
    void B()
    {
        var obj=A();
    }
    void C()
    {
        var call=B();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想使用roslyn找到Invoked方法名称.

像这里o/p将是:

  • 对于方法B:调用方法A.
  • 对于方法C:调用方法A.

我想要这样的东西:

root.DescendantNodes().OfType<InvocationExpressionSyntax>().Where(md => md.Identifier.ValueText.Equals(methodName)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

但InvocationExpression不包含要访问的标识符.如何获取标识符名称

c# roslyn

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

如何在XML Literals(VB.NET)中阻止嵌入式表达式的HTML编码?

使用以下代码:

Dim x As System.Xml.Linq.XElement = _
<div>
<%= message.ToString() %>
</div>
Dim m = x.ToString()
Run Code Online (Sandbox Code Playgroud)

...如果消息是HTML,则<和>字符将转换为&lt;&rt;.

如何强制它跳过此编码?

vb.net xml-literals

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

XML到C#类问题

有人可以帮助我,我有这个xml片段

<?xml version="1.0" encoding="utf-8" ?>
<EmailConfiguration>
  <DataBoxID>123</DataBoxID>
  <DefaultSendToAddressCollection>
     <EmailAddress>email@whereEver.com</EmailAddress>
  </DefaultSendToAddressCollection>
</EmailConfiguration>
Run Code Online (Sandbox Code Playgroud)

我想从中创建一个corressponding c#类.在您说"只使用xsd.exe"之前,Xsd的输出无法序列化和反序列化正确,因为它使用部分类生成类.

请问你能告诉我如何创建这个类....这是我采取的方法,但它不起作用.

public class EmailConfiguration
{
    private string dataBoxID;

    public string DataBoxID
    {
        get { return dataBoxID; }
        set { dataBoxID = value; }
    }

    private DefaultSendToAddressCollectionClass defaultSendToAddressCollection;

    public DefaultSendToAddressCollectionClass DefaultSendToAddressCollection
    {
        get { return defaultSendToAddressCollection; }
        set { defaultSendToAddressCollection = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是子类的类声明

public class DefaultSendToAddressCollectionClass
{
    private string[] emailAddress;
    public string[] EmailAddress
    {
        get { return emailAddress; }
        set { emailAddress = value; } …
Run Code Online (Sandbox Code Playgroud)

c# xml class

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

为Office 2007开发的VSTO加载项是否会在Office 2010中运行?

为Office 2007开发的VSTO加载项是否与Office 2010兼容?如果没有,需要做些什么来升级它们才能在2010年运行?

vsto ms-office office-2010

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

是否有可能找到实现某些协议的所有模块?

我想知道是否有可能找到所有具有特定模块实现的模块?

我有一个简单的协议:

defprotocol Ep.PerformTest do
  @doc "Should return tupple {out, time}"
  def test(struct)
end
Run Code Online (Sandbox Code Playgroud)

并且很少有具有此协议实现的模块:

defmodule Ep.Test.Rexcpp do
  defstruct [:input, :code, :output]

  def displayName(), do: "Rextester C++"

  defimpl Ep.PerformTest, for: Ep.Test.Rexcpp do
    def test(struct) do

    end
  end
end
Run Code Online (Sandbox Code Playgroud)

protocols elixir

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

将DbSet <Entity>转换为其DbSet <IEntity>,而不将所有实体都拉入内存

我的问题是我正在使用的系统需要Data as IQuearable<IEntity>和entityframework给我数据IQueryable<Entity>

这是我需要实现的接口:

public IQueryable<T> GetData<T>() where T : class, IData {}
Run Code Online (Sandbox Code Playgroud)

我有一个创建为context.Set(MyEntityType)的DbSet,其中MyEntityType是typeof(Entity).

我现在一直在尝试一些事情,不知道如何解决这个问题.(它的所有自动生成的代码来自codedom,但在下面做了一个测试,看它可以工作,但还没有工作)

我做了一个测试包装,问题在这里LINQ to Entities only supports casting EDM primitive or enumeration types如果我可以做这项工作,我也可以使我的其他部分工作.

public class DbSetWrapper<C1Data,Entity>
    where C1Data : IData 
    where Entity: class
{

    public DbSetWrapper(C1AzureStoreRPContext context)
    {
        Data = context.Set<Entity>().Cast<C1Data>();
    }
    public IQueryable<C1Data> Data { get; private set; }
}

public class C1AzureStoreRPContext : DbContext
{
    static C1AzureStoreRPContext()
    {
        Database.SetInitializer<C1AzureStoreRPContext>(null);
    }
    // Methods
    public C1AzureStoreRPContext(string connectionstring)
        : base(connectionstring)
    {

    }

    // Properties …
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework

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