在内存,性能等情况下,是否存在使用分部类的开销?
如果我们创建一个局部类,我们可以识别该类是否是部分或不使用反射器?
我有一个部分课
public partial class myClass
在不同的文件中定义,例如myClass1.cs,myClass2.cs等.
有没有办法让resharper或Visual studio内置功能找到属于同一个分类的所有文件?
c# resharper partial-classes visual-studio-2010 resharper-6.1
我一直在阅读编程Microsoft®VisualC#®2008:语言,以便更好地理解C#以及可以用它做些什么.我遇到了从ASP.Net的Page类中遇到的部分类.
对我来说,似乎你可以用抽象类和被覆盖的类来做部分类.显然,一个团队将通过抽象方法控制界面,但无论如何你都会相互依赖.如果目标是协作,则不是源控制和其他工具解决的问题.
我只是错过了部分课程的要点.也有人可以提供真实世界的使用.
考虑到我们在创造一个局部类PROJECT1,我们有一个Project2中有提及PROJECT1.怎么是它可以声明局部类的其他一些方法Project2的?
谢谢
我有一个部分分为两个命名空间.问题是,如果我在其中一个部分上实现了接口,则在对应的部分类中无法识别它.例如,我希望以下内容返回true,因为被识别为ILastModified(C#fiddle at http://ideone.com/heLDn0):
using System;
using MyNamespace.One;
public class Test
{
public static void Main()
{
var item = new Product();
Console.WriteLine(item is ILastModified); //RETURNS FALSE??!
}
}
interface ILastModified
{
DateTime LastModified { get; set; }
}
namespace MyNamespace.One
{
public partial class Product
{
public int ID { get; set; }
}
}
namespace MyNamespace.Two
{
public partial class Product : ILastModified
{
public DateTime LastModified { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个Subsonic3 Active Record生成的部分User类,我在一个单独的部分类中扩展了一些方法.
我想知道是否有可能将数据注释添加到一个部分类的成员属性中,它在另一个我尝试过的Subonic Generated上声明它.
public partial class User
{
[DataType(DataType.EmailAddress, ErrorMessage = "Please enter an email address")]
public string Email { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
该示例给出了"已定义成员"错误.
我想我之前可能已经看过一些关于我正在尝试使用Dynamic Data和Linq2Sql的例子.
subsonic validation partial-classes subsonic3 data-annotations
我想用C#和F#编写一些东西.我有部分类,我想在其中一些中定义F#方法.我得到的问题是,部分类不能跨越2个DLL.有没有办法合并它们?我更喜欢免费的解决方案,并且能够在正常构建中自动完成.
我有一个通用的抽象UserControl类,SensorControl我希望我的所有传感器控制面板都可以继承.
尝试EthernetSensorControl在Visual Studio中设计(我继承的UserControl表单之一)时,表单设计器中显示以下错误:
无法为此文件显示设计器,因为其中的所有类都无法设计.设计人员检查了文件中的以下类:DeviceSensorControl ---无法加载基类"Engine.Sensors.SensorControl".确保已引用程序集并且已构建所有项目.
SensorControl 类:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Engine.Sensors
{
public abstract class SensorControl<SensorType>
: UserControl where SensorType : class
{
protected SensorType _sensor;
public SensorControl(SensorType sensor)
{
_sensor = sensor;
}
}
}
Run Code Online (Sandbox Code Playgroud)
EthernetSensorControl:namespace Engine.Sensors
{
public partial class EthernetSensorControl
: SensorControl<EthernetSensor>
{
public EthernetSensorControl(EthernetSensor sensor)
: base(sensor)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)的System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)的System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)中在System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost主机)
一切都编译好,我可以看到显示的面板,但我无法设计它.我认为问题可能与partial …
c# inheritance templates partial-classes windows-forms-designer
我目前正在使用nopCommerce源代码并尽力避免编辑源代码,而是使用与源代码分开的部分类和插件,我们是否需要升级版本.
我想通过在同一个程序集中使用部分类来对下订单的代码进行一些更改:
Orignal源代码:
namespace Nop.Services.Orders {
public partial class OrderProcessingService : IOrderProcessingService {
public virtual PlaceOrderResult PlaceOrder(ProcessPaymentRequest processPaymentRequest)
{ //....
Run Code Online (Sandbox Code Playgroud)
我的部分课程:
namespace Nop.Services.Orders {
public partial class OrderProcessingService : IOrderProcessingService {
public override PlaceOrderResult PlaceOrder(ProcessPaymentRequest processPaymentRequest) { //....
Run Code Online (Sandbox Code Playgroud)
当我尝试编译此代码时,我收到一个错误:
类型'Nop.Services.Orders.OrderProcessingService'已经定义了一个名为'PlaceOrder'的成员,它具有相同的参数类型
但是我正在使用override并且原始类中的方法是virtual,有人可以告诉我我在哪里出错了,以及我如何覆盖这个方法?
partial-classes ×10
c# ×8
.net ×2
asp.net ×2
c#-4.0 ×2
class ×2
code-behind ×1
dll ×1
f# ×1
inheritance ×1
nopcommerce ×1
overriding ×1
resharper ×1
subsonic ×1
subsonic3 ×1
templates ×1
validation ×1
virtual ×1