小编sl3*_*dg3的帖子

枚举的价值

我有点困惑:这真的是从Enum-Code读取值的唯一方法吗?

(int)Enum.Parse(typeof(MyEnum), MyEnumCode.ToString())
Run Code Online (Sandbox Code Playgroud)

有什么必要的,没有更好的方法来获得价值?

c#

4
推荐指数
2
解决办法
534
查看次数

VB.NET下的后期绑定魔术转换为C#

我应该将一些代码从VB转换为C#.给出以下VB工作行(我认为仅因为选项未设置为严格):

Dim someProp As SomeType
Try
    someProp = CType(SomeInstance, Object).SomeProp 
    ' ...
Run Code Online (Sandbox Code Playgroud)

由于后期绑定,这个代码在VB下是可能的.当然,以下内容不适用于C#:

SomeType someProp;
try
{
    someProp = ((object)SomeInstance).SomeProp;
    // ...
Run Code Online (Sandbox Code Playgroud)

我怎么能在C#下制定类似的东西呢?

任何tipps sl3dg3的thx

c# vb.net c#-4.0

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

反射:作为结果使用通用列表调用方法

我有以下示例类:

public class MyClass<T>
{
    public IList<T> GetAll()
    {
        return null; // of course, something more meaningfull happens here...
    }
}
Run Code Online (Sandbox Code Playgroud)

我想GetAll用反思来调用:

Type myClassType = typeof(MyClass<>);
Type[] typeArgs = { typeof(object) };
Type constructed = myClassType.MakeGenericType(typeArgs);
var myClassInstance = Activator.CreateInstance(constructed);

MethodInfo getAllMethod = myClassType.GetMethod("GetAll", new Type[] {});
object magicValue = getAllMethod.Invoke(myClassInstance, null);
Run Code Online (Sandbox Code Playgroud)

这导致(在上面的代码的最后一行):

无法对ContainsGenericParameters为true的类型或方法执行后期绑定操作.

好的,第二次尝试:

MethodInfo getAllMethod = myClassType.GetMethod("GetAll", new Type[] {});
getAllMethod = getAllMethod.MakeGenericMethod(typeof(object));
object magicValue = getAllMethod.Invoke(myClassInstance, null);
Run Code Online (Sandbox Code Playgroud)

这导致(在上面代码的倒数第二行):

System.Collections.Generic.IList`1 [T] GetAll()不是GenericMethodDefinition.MakeGenericMethod只能在MethodBase.IsGenericMethodDefinition为true的方法上调用.

我在这做错了什么?

c# generics reflection

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

ModelMetaData:如何获得"父" - 元数据?

在我看来,我调用Html.EditFor()来触发此数据类型的自定义编辑器模板.另外我传递了一些元数据(这是我不喜欢的部分):

<% ModelMetadata metaTitle = ModelMetadataProviders.Current.GetMetadataForProperty(null, Model.GetType(), "Title"); %>
<%: Html.EditorFor(x => Model.Title, new { metaData = metaTitle })%>
Run Code Online (Sandbox Code Playgroud)

传递的类型(属性Title)的类型为"Translation".在自定义编辑器模板中,我必须从viewData中读取传递的元数据才能使用它:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Translation>" %>
// {...}
if (ViewData["metaData"] != null)
    metaData = (ModelMetadata)ViewData["metaData"];
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以直接在自定义编辑器模板中访问元数据?不幸的是,如果我在编辑器模板中调用以下内容,我将无法获得相同的元数据对象(例如,如果缺少Title-Property的信息,则会丢失):

ModelMetadata metaData = ModelMetadataProviders.Current.GetMetadataForType(null, Model.GetType());
Run Code Online (Sandbox Code Playgroud)

我想避免在每次调用时传递元数据对象...

任何tipps的Thx!sl3dg3

c# asp.net-mvc-2

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

一对多计数

我想知道这是否可以用更少的开销来解决:给定简单的一对多关系产品 - >尺寸(产品有一个尺寸).为了弄清楚有多少产品分配给一个尺寸,我会更新尺寸与产品的映射Bag.但是,如果我只对计数感兴趣(不需要任何产品细节),这可以在没有加载所有产品对象的开销的情况下完成吗?

任何tipps sl3dg3的thx

nhibernate one-to-many

3
推荐指数
1
解决办法
1210
查看次数

正则表达式:如何获得没有前导数字的文件名?

我对c-sharp的正则表达式完全无用:我如何解析文件名中的前导数字?例如413_somename.suffix.我需要:_somename.suffix.

我怎样才能做到这一点?

谢谢!

ps:数字的数量是1到n ......

c# regex

3
推荐指数
1
解决办法
308
查看次数

rxjs 管道和订阅(在一个主题上)在两个单独的步骤中没有按预期工作

这让我很头疼……以下代码确实按预期工作:

const s$ = new Subject<any>();
  s$.pipe(
      switchMap(
        x => {
          debugger;
          return myService.getSth();
        }
      )
    ).subscribe(x => {
    debugger;
  });
  s$.next();
Run Code Online (Sandbox Code Playgroud)

无论debuggerswitchMapsubscribe部分被击中。
但是,如果我将其拆分(我想将整个管道内容移动到单独的库中),switchMap则不再调用 中的调试器,这意味着不会调用此特定示例中的服务:

  const s$ = new Subject<any>();
  s$.pipe(
      switchMap(
        x => {
          debugger;
          return myService.getSth();
        }
      )
    );

  // ...

  s$.subscribe(x => {
    debugger;
  });
  s$.next();
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么?

rxjs typescript rxjs6

3
推荐指数
1
解决办法
2994
查看次数

System.Enum.GetValues:在C#中与VB不一样?

我试图将以下的VB.NET转换为C#:

Dim langs As New List(Of LanguageEnum)(System.Enum.GetValues(GetType(LanguageEnum)))
Run Code Online (Sandbox Code Playgroud)

我最终得到了以下翻译,但这不起作用:

List<LanguageEnum> langs = new List<LanguageEnum>(System.Enum.GetValues(typeof(LanguageEnum)));
Run Code Online (Sandbox Code Playgroud)

- >"最好的重载方法匹配{...}有一些无效的参数." 即使是http://www.developerfusion.com/tools/convert/vb-to-csharp/也会给我这个翻译.怎么了?

c# vb.net

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

我如何使用WCF数据服务?

我已经创建了一个wcf服务,但我已经使用了3个项目;
1)ServiceLibrary(WCF库)
2)Web
3)ConsoleTestClient
我的ServiceLibraryapp.config文件如下所示;

  <system.serviceModel>
    <services>
      <service name="MrDAStoreJobs.ServiceLibrary.AdvertisementService">
        <clear />
        <endpoint address="basic" 
                  binding="basicHttpBinding" bindingConfiguration="" 
                  contract="MrDAStoreJobs.ServiceLibrary.Interface.IAdvertisementService" />
        <endpoint name="mexHttpBinding"
          contract="IMetadataExchange"
          binding="mexHttpBinding"
          address="mex" />

        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:13758/" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, 
          set the value below to false before deployment -->
          <serviceMetadata httpGetEnabled="True" />
          <!-- To receive exception details in faults for debugging purposes, 
          set the value below to true.  Set to false before deployment 
          to avoid …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net wcf wcf-data-services

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

ABCpdf 5编码问题(特殊字符)

我正在使用ABCpdf第5版,以便将一些html页面呈现为PDF.

我基本上使用HttpServerUtility.Execute()- 方法来检索pdf的html:

System.IO.StringWriter writer = new System.IO.StringWriter();
server.Execute(requestUrl, writer);
string pageResult = writer.ToString();

WebSupergoo.ABCpdf5.Doc pdfDoc = new WebSupergoo.ABCpdf5.Doc();
pdfDoc.AddImageHtml(pageResult);

response.Buffer = false;
response.ContentType = "application/pdf";
response.AddHeader("Content-Disposition", "attachment;filename=MyPdf_" + 
    FormatDate(DateTime.Now, "yyyy-MM-dd") + ".pdf");
response.BinaryWrite(pdfDoc.GetData());
Run Code Online (Sandbox Code Playgroud)

现在有些像Umlaute(AOU)特殊字符替换为空的空间.有趣的是并非全部.我弄清楚了:在html页面中我有.

`<meta http-equiv="content-type" content="text/xhtml; charset=utf-8" />` 
Run Code Online (Sandbox Code Playgroud)

如果我解析它,所有特殊字符都会正确呈现.但在我看来,这似乎是一个丑陋的黑客.

在早些时候我没有使用HttpServerUtility.Execute(),但我让ABCpdf调用URL本身:pdfDoc.AddImageUrl("someUrl");.我没有这样的编码问题.

我还能尝试什么?

c# asp.net abcpdf

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

在字符串中查找整数

我有:

var myclass = 'moreElements showAddElements-570';
var re = new RegExp('showAddElements\-\d*');
var m = re.exec(myclass);

alert(m[0]);
alert(m[1]);
Run Code Online (Sandbox Code Playgroud)

第一个警报导致'showAddElements-','undefined'中的第二个警报.我想得到'570',我在这里做错了什么?如果我测试它,我至少会到那里'showAddElements-570' ...我在这里做错了什么?

任何tipps的Thx!

Ps:我只想在'showAddElements-'之后输入数字,所有其他数字都应该省略..

javascript regex

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

显示具有特定css类的元素

我试图用某个css类显示所有元素,但没有成功.这些元素是隐藏的display:none;

$('myClass').each().show();
Run Code Online (Sandbox Code Playgroud)

这没有任何作用.我怎么需要解决这个问题?

javascript jquery

0
推荐指数
1
解决办法
53
查看次数

jquery选择前面的元素

关注HTML-Dom:

<a href="#"><img src="..." alt="" /></a>
<div class="myClass"></div>
Run Code Online (Sandbox Code Playgroud)

当div是起点时,如何选择img-element?

$('.myClass') // with .prev() I was not successfull...
Run Code Online (Sandbox Code Playgroud)

Thx提前!sl3dg3

jquery

0
推荐指数
1
解决办法
425
查看次数